我们有 ASP.NET MVC应用程序使用Telerik UI ASP.NET MVC。在页面上设置了一个带有弹出编辑器的网格,由 kendo html 助手。
现在我需要为弹出编辑器表单配置一些自定义验证规则。我找不到办法。
- 在验证器文档中可以看到从
$("form")
获取验证器引用。但是网格弹出窗口中没有形式 - 如果我配置从
$("gridName").kendoValidator().data("kendoValidator")
获取的验证器的规则,则在保存编辑器更改时根本不会触发此类规则 - 例如,如果我从某些编辑器容器
gridOnEditEvent.container.find("#editorcontent").kendoValidator().data("kendoValidator")
获得对验证器的引用,我可以扩展规则,手动验证和发送表单数据,但是弹出编辑器的标准保存按钮不能反映这种配置
如何扩展网格弹出编辑器验证器的验证规则?
使用
HTML 帮助程序(如网格(构建的剑道小部件初始化自己的内部验证器。必须将自定义规则添加到验证程序类本身,才能在这些无法访问的验证程序实例中运行。Telerik 有一个如何做到这一点的例子:
$.extend(true, kendo.ui.validator, {
rules: { // custom rules
productnamevalidation: function(input, params) {
if (input.is("[name='ProductName']") && input.val() != "") {
input.attr("data-productnamevalidation-msg", "Product Name should start with capital letter");
return /^[A-Z]/.test(input.val());
}
return true;
}
},
messages: { //custom rules messages
productnamevalidation: function(input) {
// return the message text
return input.attr("data-val-productnamevalidation");
}
}
});