我有一个动态表单,用户可以在其中添加多个选择框:
<form id="ticket_form">
<select class="required" name="quantity[1]"></select>
<select class="required" name="quantity[2]"></select>
<select class="required" name="quantity[3]"></select>
</form>
目前,我确保用户为每个选择框选择了一个值:
$("#ticket_form").validate({
rules: {
'quantity[]': 'required'
},
messages: {
'quantity[]': 'This field is whack'
}
});
我实际上只需要其中一个来具有选定的值。当至少一个选择框有值时,我应该怎么做才能让验证通过?
更新
这是我最终根据 Ben Barden 的解决方案解决我的问题的代码:
$.validator.addMethod("groupSelect", (function(value, element, isRunning) {
return $(".required[value!=\"\"]").length > 0;
}), "At least one must be selected.");
我还在该类中添加了一个额外的类规则required
,因此我不必再向实际的验证规则添加任何内容:
$.validator.addClassRules({
'required': {
'groupSelect': true
}
});