【问题标题】:jQuery Validation - Overwriting core validation methodjQuery Validation - 覆盖核心验证方法
【发布时间】:2011-02-04 23:48:02
【问题描述】:

我正在使用 jQuery Validation 插件。

我已经覆盖了所需的规则,因为我的规则取决于一些自定义条件,如下所示:

$.validator.addMethod("required", function(value, element) {
    console.log("required", element);

    return someCondition && value != null;
}, "This is is required.");

然而,当表单被验证时,我看到"required" 为每个元素打印了两次,这意味着该函数被调用了两次。只要我将方法名称更改为"myRequired" 并添加以下类规则,该函数就会被调用一次。

$.validator.addClassRules({
    required : {
        myRequired: true
    }
});

即使我添加了一个同名的方法,核心所需的方法似乎仍然完好无损并被调用。反正有没有完全覆盖核心规则方法?

【问题讨论】:

标签: jquery validation


【解决方案1】:

您不是覆盖它,而是向它添加另一种方法。要覆盖它,试试这个:

$.validator.methods.required = function(value, element, param) {
    console.log("required", element);

    return someCondition && value != null;
}

【讨论】:

    【解决方案2】:

    您可以使用$.extend 来执行此操作:

    $.extend($.validator, {
        required: function(value, element) {
            console.log("required", element);
            return someCondition && value != null;
        }
    })
    

    【讨论】:

    • 你有例子或链接吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多