jquery validate を使用してフォームを検証しようとしていますが、ユーザーに少なくとも 1 つのチェックボックスを選択してもらいたいと考えています。名前が異なるのは、データベースのフィールド名と一致するためです。
....
<input class="myclass" type="checkbox" name="option_1">Option 1<br>
<input class="myclass" type="checkbox" name="option_2">Option 2<br>
<input class="myclass" type="checkbox" name="option_3">Option 3<br>
<input class="myclass" type="checkbox" name="option_4">Option 4<br>
<input class="myclass" type="checkbox" name="option_5">Option 5<br>
....
検証に使用される私のjQueryコードは次のとおりです。
jQuery.validator.addMethod("require_from_group", function(value, element, options) {
var valid = $(options[1], element.form).filter(function() {
return $(this).val();
}).length >= options[0];
if(!$(element).data('reval')) {
var fields = $(options[1], element.form);
fields.data('reval', true).valid();
fields.data('reval', false);
}
return valid;
}, jQuery.format("Please fill out at least {0} of these fields."));
$("#formname").validate({
submitHandler: function(form){
console.log("Came here");
return false;
},
rules:{
option_1:{ require_from_group: [1, '.myclass']},
option_2:{ require_from_group: [1, '.myclass']},
option_3:{ require_from_group: [1, '.myclass']},
option_4:{ require_from_group: [1, '.myclass']},
option_5:{ require_from_group: [1, '.myclass']}
}
});
このコードは機能していません。どこが間違っていますか?