我正在尝试使用JQuery验证来验证多个复选框。当选择少于2个复选框时,该行应突出显示为红色,这在初始submssion上工作正常,并且用户获得带有突出显示的行的错误消息,或者如果选择了2个或更多,则为勾选。
问题是当用户更改初始选择时。我在用户移动时验证表单,因此如果选择从2更改为1,则行应该重新突出显示它似乎不会执行的操作,尽管错误消息确实更新了。有没有办法将错误类添加回行。
<li id="li_bit001" class="radiocheck checkboxShowHide">
<h2 class="label">Required Check box</h2>
<div>
<span>
<input name="chk_bit001" type="checkbox" id="chk_bit001" class="{required:true, minlength:2, messages:{required:'Please select atleast 2 checkbox'}}" /><label for="chk_bit001" class="width-xs">Yes</label>
</span>
<span>
<input name="chk_bit001" type="checkbox" id="chk_bit002" /><label for="chk_bit002" class="width-xs">No</label>
</span>
<span>
<input name="chk_bit001" type="checkbox" id="chk_bit003" /><label for="chk_bit003" class="width-xs">Maybe</label>
</span>
<span>
<input name="chk_bit001" type="checkbox" id="chk_bit004" /><label for="chk_bit004" class="width-xs">Whatever</label>
</span>
</div>
<span class="errorlabel"></span>
</li>
$("#form1").validate({
debug: true,
highlight: function(element, errorClass) {
$(element).closest('li').addClass('error-row');
},
unhighlight: function(element, errorClass) {
$(element).closest('li').removeClass('error-row');
},
submitHandler: function() { return false; },
success: "valid",
errorPlacement: function(error, element) {
error.appendTo(element.closest('li').find('.errorlabel'))}
});