jQuery验证-覆盖核心验证方法
我正在使用jQuery验证插件 我已覆盖所需规则,因为我的规则取决于某些自定义条件,如下所示:jQuery验证-覆盖核心验证方法,jquery,validation,Jquery,Validation,我正在使用jQuery验证插件 我已覆盖所需规则,因为我的规则取决于某些自定义条件,如下所示: $.validator.addMethod("required", function(value, element) { console.log("required", element); return someCondition && value != null; }, "This is is required."); 然而,当表单被验证时,我看到每个元素都会打印
$.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
}
});
看起来,即使我添加了一个具有相同名称的方法,所需的核心方法仍然完好无损并被调用。是否要完全覆盖核心规则方法?您不是在覆盖它,而是在其中添加另一个方法。要覆盖它,请尝试以下操作:
$.validator.methods.required = function(value, element, param) {
console.log("required", element);
return someCondition && value != null;
}
您可以使用
$.extend
执行此操作:
$.extend($.validator, {
required: function(value, element) {
console.log("required", element);
return someCondition && value != null;
}
})
你用的是哪个验证插件。我用的是jQuery验证插件。Tom,链接总是有用的,有很多“jQuery验证”插件。不过我想你用的是这个@是的,你有任何例子或链接吗?