2013-05-25 5 views
1

나는 knockout.js validation plugin을 사용하고 있으며 현재 사용중인 양식의 유효성 검사를 위해 완벽하게 작동하지만 오류 수를 추적하지는 않습니다. 양식을 제출할 때 오류를 발견하면 제출해서는 안되지만 제출하고 있습니다.knockout.js 유효성 검사 오류 개수가 설정되지 않음

function EntryViewModel(fullName, addressLine1, addressLine2, city, state, ZIP, email) { 

    //viewmodel code here 
    //the validation messages are being set on my form so i figure listing all of the rules is not necessary 

    self.submitOrder = function(){ 
    alert(EntryViewModel.errors().length); //displays 0 
    if (EntryViewModel.errors().length == 0) { 
      //submit 
    } 
    else{ 
     alert('Please fix errors before submitting'); 
    } 
    } 
} 

EntryViewModel.errors = ko.validation.group(EntryViewModel); //I also tried putting this in my viewmodel and it didn't do anything 
난, 난 그냥 프로젝트의 Github에서 페이지에서 링크 된 this fiddle 오프를 내놓고있어 완전히 잘못이 접근 할 수

답변

2

당신이 기능 대신 자체를 참조 submitOrder을 변경 시도

self.submitOrder = function(){ 
    alert(self.errors().length); //displays 0 
    if (self.errors().length == 0) { 
     //submit 
    } 
    else{ 
     alert('Please fix errors before submitting'); 
    } 
} 

의 이름을 지정하고 함수 내에서 그룹 통화를

self.errors = ko.validation.group(self); 
,

self.errors에 할당하는 것은 실제로 중복됩니다. 그룹 호출은 자체에서 관찰 할 수있는 오류를 만듭니다.

+0

감사합니다. – user1443519