javascript - knockout.js 验证错误计数未设置

标签 javascript knockout.js

我正在使用 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/

相关文章:

javascript - Kendo-UI 数据绑定(bind)功能不起作用

javascript/html不会显示计算结果

javascript - 页面大小更改后我的光标位置丢失

javascript - 如何在 Google Dialogflow Fullfilment 内联编辑器中安装 npm 包

javascript - 如何使用 knockout 单击按钮时从多个文本区域和单选按钮获取输入?

Javascript 框架 : Knockout, 主干、嵌入……

javascript - 使用或不使用 flexbox 填充可用空间

knockout.js - 使用 knockout 将 javascript 数组对象绑定(bind)到 View

javascript - KnockoutJS foreach 不会遍历集合

javascript - 在文本框中再次使用相同条目的逗号分隔数字的 Knockout bindingHandler