2013-05-25 56 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