Validation 剑道UI自定义验证规则在MVVM中未正确验证

Validation 剑道UI自定义验证规则在MVVM中未正确验证,validation,mvvm,kendo-ui,telerik,kendo-validator,Validation,Mvvm,Kendo Ui,Telerik,Kendo Validator,这里我有一个剑道视图模型 $(document).ready(function () { var viewModel = kendo.observable({ addData : function (e) { if (val.validate()) { // this will send data to server if only view is valid. } } }); kendo.bind($("#my-for

这里我有一个剑道视图模型

$(document).ready(function () {
  var viewModel = kendo.observable({
    addData : function (e) {
      if (val.validate()) {
        // this will send data to server if only view is valid. 
      }
    }  
  });

  kendo.bind($("#my-form"), viewModel);

  var val = $("#my-form").kendoValidator({ 
    messages : {
      my custom messages
    },
    rules: {
      my custom rules
    }
  }).data("kendoValidator");
});
这里发生了什么,当我试图提交表单时,它没有验证表单。对于
val.validate()
,它就是真的。然后我删除
数据(“kendoValidator”)
,因为这现在不是HTML5验证。所以在移除之后,它是这样的

var val = $("#my-form").kendoValidator({
  messages : {
    my custom messages
  },
  rules: {
    my custom rules
  }
});

然后我尝试提交表单,它会刷新页面。我在这方面哪里错了

您的设置应该可以正常工作。也许这真的是验证规则的问题。 无论如何,你都不应该移除

数据(“kendoValidator”)

部分,因为这是获取对验证器对象的引用的方式

看看这个例子,我已经准备好供你参考。如果您还有其他问题,请告诉我


我真的不明白你的意思。如果自定义消息和自定义规则是问题的潜在根源,为什么要忽略它们?