【问题标题】:KendoUI grid minlength not workingKendoUI网格最小长度不起作用
【发布时间】:2014-05-06 11:38:59
【问题描述】:

KendoUI 网格可以强制执行最小长度验证。我有一些麻烦。看截图。

我已经设置了最小长度和最大长度。它不允许我输入超过 10 个字母,但是,我可以输入少于 2 个字母并更新网格中的条目。

这是剑道问题吗?

【问题讨论】:

  • 您可以添加您的验证码吗?您是否也在进行自定义验证?
  • 不,没有自定义验证,我刚刚将 minlength 字段设置为字段中值为 2 的验证...
  • 啊,我想我明白了。基本上,Html5 中没有 minlength 属性,所以你不能那样限制它。您必须使用自定义验证。如果您需要帮助,请告诉我。关于自定义验证,一些已知的错误,这些错误不能完全正常工作。
  • 其实我找到了一种使用pattern属性的方法,看我的回答。

标签: validation kendo-ui kendo-grid


【解决方案1】:

正如我在 cmets 中提到的,minlength 不起作用,因为 HTML5 中不存在该属性,而 maxlength 存在。

相反,您必须使用自定义验证,或使用模式属性。

模式属性

my_name {
     validation: {
          required: true,
          pattern:'.{2,10}'
     }
},

这意味着my_name 必须介于 2 到 10 个字符之间。它将允许您输入更少或更多,但当您尝试更新时会抛出无效消息。

自定义验证:

my_name {
     validation: {
          required: true,
          lengthRule: function (input) {
               if (input.is("[name='DirectionName']") && input.val() !== "") {
                    input.attr("data-lengthRule-msg", "My Name must be between 2 to 10 characters.");
                    return (input.val().length<=10 && input.val().length>=2);
               }
               return true;
          },
     }
},

使用后一种方法,有一个已知的错误,所以我不热衷于使用后一种方法。

自定义验证错误仅供参考: Validation is not always triggered when editing with backspace

【讨论】:

  • 如果我使用模式属性,我如何自定义验证消息?谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-05
  • 2017-11-18
  • 2016-12-17
  • 2018-10-08
  • 2011-12-09
  • 1970-01-01
相关资源
最近更新 更多