ユーザーが複数の選択ボックスを追加できる動的フォームがあります。
<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'
}
});
選択した値を持つには、実際にはそのうちの1つだけが必要です。少なくとも 1 つの選択ボックスに値がある場合、検証をパスするにはどうすればよいですか?
アップデート
これは、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
}
});