我计划为我的剑道验证器提供一些自定义规则,我想在所有验证器中共享这些规则。在验证器上的代码中,我有:
rules: {
bothorblank: function (input) {
...
},
mutualexclusive: function(input) {
}
}
既然我使用的是开源版本,有没有一种简单的方法可以集中所有验证器的规则?有没有我用规则设置的静态属性?或者,定义一个返回对象的泛型方法并在初始化时调用它的最佳方法是什么?
我经历了同样的场景,我做了一些调整,使自定义规则成为全局规则,可以跨页面/站点工作。这是解释的博客,你可以在这里找到演示。
演示-http://jsfiddle.net/chandarmk/vrrq5wyu/
博客-http://thirum.wordpress.com/2014/12/23/kendo-custom-global-validator/
这是的一些代码示例
kendo.ui.validator.rules.isValidDate = function (input, params) {
//ignore all other input that doesnt have this attribute
//case insensitive
if (!(input.is('[data-isValidDate]') || input.is('[data-isvaliddate]'))) return true;
var retVal = false;
var kendoDatePicker = input.data("kendoDatePicker");
if (kendoDatePicker) {
var d = kendo.parseDate(kendoDatePicker.value(), ["yyyy/MM/dd HH:mm", "MM/dd/yyyy HH:mm", "MMM dd, yyyy h:mm tt", "yyyy/MM/dd", "MM/dd/yyyy", "MMM dd, yyyy"]);
retVal = d instanceof Date;
if (retVal) input.closest('.k-datepicker').removeClass("red-box");
else input.closest('.k-datepicker').addClass("red-box");
}
return retVal;
}