使用jquery validate plugin我使用规则equalTo来验证字段如下:
$('#booking').validate({
ignoreTitle: true,
rules: {
payments: {
equalTo: {
param: "#sales",
depends: function(element) { return $("#status").val() == 'invoiced'; }
}
},
}
});
我可以让这个工作,但现在我只希望这个规则适用于只有选择选项是特定值。我迷失了,不知道如何使equalTo规则可选取决于另一个字段值
我看到依赖规则,但无法找到关于此
的任何文档有人可以给我一些指示吗?
我已经创建了一个jsfiddle帮助:
http://jsfiddle.net/longestdrive/SneAF/2/
由于
更新:我已经尝试了依赖但未按预期工作:
还发现了一些相似/重复的问题: jQuery Validation - require field only if another field is filled 和 jQuery validation depends
答案 0 :(得分:3)
您的depends
规则中存在一些错误:
$("#status option:selected")
Invoiced
,而不是invoiced
这是最终结果(正如RobM所提到的,您甚至可以指定更准确的错误消息:
<强> Fiddle 强>
$('#booking').validate({
ignoreTitle: true,
rules: {
payments: {
equalTo: {
param: '#sales',
depends: function(element) {
return $("#status option:selected").val() == 'invoiced';
}
}
}
},
messages: {
payments: {
equalTo: "Payments must equal Sales when Status is 'Invoiced'."
}
}
});