Javascript 如何为jQuery验证规则别名

Javascript 如何为jQuery验证规则别名,javascript,jquery,validation,knockout.js,Javascript,Jquery,Validation,Knockout.js,我正试图提高jQuery验证和淘汰验证插件之间的兼容性,以便在我的应用程序中的不同位置都可以使用相同的规则(当然是功能的子集) 需要解决的一个方面是jQuery验证对minlength、maxlength等有不同的大小写(KO使用minlength)。我希望能够创建一个简单的别名 $.validator.addMethod("minLength", function(value, element, params) { return $.validator.methods.

我正试图提高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”上下文中传递。希望这是有用的