【问题标题】:How to configure custom validation rules for kendo grid editor如何为剑道网格编辑器配置自定义验证规则
【发布时间】:2019-07-24 14:31:57
【问题描述】:

我们有使用 Telerik UI for ASP.NET MVC 的 ASP.NET MVC 应用程序。在页面上通过 kendo html helper 设置了一个带有弹出编辑器的网格。

现在我需要为弹出编辑器表单配置一些自定义验证规则。我找不到怎么做的方法。

  • 在验证器文档中可以看到从$("form") 获取验证器参考。但是网格弹出窗口中没有表格
  • 如果我在来自 $("gridName").kendoValidator().data("kendoValidator") 的验证器上配置规则,则在保存编辑器更改时不会触发此类规则
  • 如果我从某个编辑器容器gridOnEditEvent.container.find("#editorcontent").kendoValidator().data("kendoValidator") 获得对验证器的引用,例如,我可以手动扩展规则、验证和发送表单数据,但弹出编辑器的标准保存按钮不反映此类配置

如何扩展网格弹出编辑器验证器的验证规则?

【问题讨论】:

  • 您始终可以在 kendo 验证器文件本身中添加自定义验证规则。

标签: kendo-grid telerik-mvc


【解决方案1】:

使用 HTML 助手构建的 Kendo 小部件,例如 Grid,initialize their own internal Validator。必须将自定义规则添加到 Validator 类本身才能在这些无法访问的 Validator 实例中运行。 Telerik 有 an example 说明如何执行此操作:

$.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");
    }
  }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多