我试图提高jQuery验证和敲除验证插件之间的兼容性,以便可以在应用程序的不同位置上使用相同的规则(功能的子集)。
要解决的领域之一是jQuery验证对minlength,maxlength等(KO使用minLength)具有不同的大小写。我希望能够创建一个简单的别名...
$.validator.addMethod("minLength", function(value, element, params) {
return $.validator.methods.minlength(value, element, params);
});
这似乎很容易弥合差距。但是,当它在此处命中jQuery验证器时,将抛出“ this.optional不是一个函数”
// http://docs.jquery.com/Plugins/Validation/Methods/minlength
minlength: function(value, element, param) {
return this.optional(element) || this.getLength($.trim(value), element) >= param;
},
我猜我需要以某种方式传递正确的“ this”上下文?
最佳答案
只是想通了...
$.validator.addMethod("minLength", function(value, element, params) {
return $.validator.methods.minlength.call(this,value, element, params);
});
调用验证器方法,并传递正确的“ this”上下文。希望这是有用的。
关于javascript - 如何为jQuery验证规则添加别名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22382668/