我在jQuery Validation插件中使用“depend”,以便仅在特定情况下应用某些验证规则。这是我用来执行此操作的代码,以防我在某些情况下只需要字段required
。
fieldA: {
required: {depends: function () {
return $('#FormName select[name="fieldB"]').val() === '10';
}}
}
如果我想使用valueNotEquals
规则,我的语法如下:
fieldA:
{valueNotEquals: "0"}
如果我想使用“依赖”,那么正确的语法是什么?这两次尝试都给出了错误和语法错误。
尝试1 (错误,因为我无法指出它必须不等于什么值)
fieldA:
{valueNotEquals: {depends: function () {
return $('#QuestionarioForm select[name="lavoroMadre"]').val() === '10';}}
尝试2 (语法错误)
fieldA:
{valueNotEquals: "0" {depends: function () {
return $('#QuestionarioForm select[name="lavoroMadre"]').val() === '10';}}
答案 0 :(得分:3)
您的代码:
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
。只需编辑此自定义功能,使其行为符合您的要求。也许更像这样......
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]
}