我正在使用 knockout.js validation plugin它非常适合验证我正在使用的表单,但是,它似乎没有跟踪错误数量。当我提交表单时,如果它检测到任何不应提交的错误,但它正在提交。
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
我可能完全错了,我只是基于 this fiddle从项目的 Github 页面链接
最佳答案
您是否尝试过将 submitOrder 更改为引用 self 而不是函数名称
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 实际上是多余的。群组通话将产生一个可在自身上观察到的错误
关于javascript - knockout.js 验证错误计数未设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16753941/