【问题标题】:Howto alias a jQuery validation rule如何给 jQuery 验证规则起别名
【发布时间】:2014-03-13 15:01:06
【问题描述】:

我正在尝试提高 jQuery 验证和淘汰赛验证插件之间的兼容性,以便可以在我的应用程序的不同位置使用相同的规则(诚然是功能的子集)。

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

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

这似乎很简单,可以弥补差距。但是,当它在这里遇到 jQuery 验证器时会抛出“this.optional is not a function”

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

我猜我需要以某种方式传递正确的“this”上下文?

【问题讨论】:

    标签: javascript jquery validation knockout.js


    【解决方案1】:

    刚刚想通了……

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多