如何为jQuery验证规则添加别名

时间:2014-03-13 15:01:07

标签: javascript jquery validation knockout.js

我试图提高jQuery验证和淘汰验证插件之间的兼容性,以便可以在我的应用程序的不同位置使用相同的规则(无可否认是功能的一个子集)。

要解决的一个方面是jQuery验证对于minlength,maxlength等具有不同的大小写(KO使用minLength)。我希望能够创建一个简单的别名......

    $.validator.addMethod("minLength", function(value, element, params) {
        return $.validator.methods.minlength(value, element, params);
    });

这似乎足以弥合差距。然而,这引发了这个选项不是一个功能"当它点击jQuery验证器时

 // http://docs.jquery.com/Plugins/Validation/Methods/minlength
 minlength: function(value, element, param) {
    return this.optional(element) || this.getLength($.trim(value), element) >= param;
 },

我猜我需要传递正确的"这个"上下文不知何故?

1 个答案:

答案 0 :(得分:1)

刚想出来......

    $.validator.addMethod("minLength", function(value, element, params) {
        return $.validator.methods.minlength.call(this,value, element, params);
    });

调用验证器方法并传入正确的“this”上下文。希望这很有用。