2012-08-23 2 views
15

우리는 Knockout.js와 녹아웃 유효성 검사 플러그인을 사용하고 있습니다. 사용자가 유효성 검사 오류가있는 페이지로 돌아 오면 오류 메시지가 표시되기를 원합니다. 아무도 실제로 바운드 응답을 변경하지 않고 녹아웃 유효성 검사를 트리거 할 수 있는지 알고 있습니까?녹아웃 검증 - 오류 메시지를 표시하는 방법

답변

42

해결책은 showAllMessages를 호출하는 것입니다. 뷰 모델에 중첩 된 관측 가능 항목이있는 경우 기본값이 false이므로 딥 그룹을 사용하도록 ko.validation.configure를 설정해야합니다.

예 :

viewModel.save = function() 
{ 
    var result = ko.validation.group(viewModel, {deep: true}); 
    if (!viewModel.isValid()) 
    { 
     alert("Please fix all errors before preceding"); 
     result.showAllMessages(true); 

     return false; 
    } 

    //actually save stuff, call ajax, submit form, etc 
} 

다른 방법으로, validatedObservable 오류 속성에있는 장면과 상점 뒤에 그룹을 호출하는 result().length > 0

+9

참고로 !viewModel.isValid()를 대체 할 수 있으므로 자신의 그룹을 할 필요가 없습니다. 'if (! viewModel.isValid()) { viewModel.errors.showAllMessages(); }' –

+4

깊은 옵션이 필요하지 않으면 자신 만의 그룹을 만들어야합니다. –

+0

감사합니다. 이것은 엄청난 도움이되었습니다. – Quickhorn

관련 문제