如何在jQuery Validation插件中的valueNotEquals规则中添加“依赖”条件?
我在jQuery Validation插件中使用“depend”,以便仅在特定情况下应用一些validation规则。 这是我用来做的代码,以防我想在某些情况下只需要一个字段。
fieldA: { required: {depends: function () { return $('#FormName select[name="fieldB"]').val() === '10'; }} }
如果我想使用valueNotEquals
规则,我有这样的语法:
fieldA: {valueNotEquals: "0"}
如果我想使用“依赖”,那么正确的语法是什么? 这两次尝试都给出了错误和语法错误。
Attemp 1 (我的错误无法指出它必须不等于什么值)
fieldA: {valueNotEquals: {depends: function () { return $('#QuestionarioForm select[name="lavoroMadre"]').val() === '10';}}
Attemp 2 (语法错误)
fieldA: {valueNotEquals: "0" {depends: function () { return $('#QuestionarioForm select[name="lavoroMadre"]').val() === '10';}}
你的代码:
fieldA: {valueNotEquals: "0"}
引用标题 :
“如何在jQuery Validation插件中的valueNotEquals规则中添加”依赖“条件?”
您的代码无法正常工作,因为jQuery Validate插件中没有名为valueNotEquals
规则或方法 。
记录的规则和方法 : http : //jqueryvalidation.org/category/methods/
您必须使用addMethod()
编写自己的自定义规则:
jQuery.validator.addMethod("valueNotEquals", function(value, element, params) { return this.optional(element) || (value != params[0]); }, "Please specify a value that is not equal to {0}");
并声明规则:
fieldA: { valueNotEquals: [0] }
定制方法的演示 : http : //jsfiddle.net/cF3p5/
现在你不需要使用depends
。 只需编辑此自定义function,使其行为符合您的要求。 也许更像是这样……
jQuery.validator.addMethod("valueNotEquals", function(value, element, params) { if ($('#QuestionarioForm select[name="lavoroMadre"]').val() === params[1]) { return (value != params[0]); } else { return true; } }, "Please specify a value that is not equal to {0}");
并声明规则:
fieldA: { valueNotEquals: [0, 10] }