一组复选框和一个隐藏文本字段 jQuery 验证对一组复选框不起作用

Group of check box and one hidden text field jQuery validation not working for group of checkbox as expected

我目前正在 jQuery 验证一组复选框。使用我当前的代码,如果用户单击下一步按钮,将显示一条错误消息 You missed 6 fields。请在提交前填写突出显示的字段。 如果用户单击任何复选框,错误消息应该消失。

这是我当前的 jQuery 代码:

$.validator.addClassRules("chk_Field_hlt", {
    require_from_group: [1, ".chk_Field_hlt"]
});

有了这个,我试图将所有复选框分组,如果其中任何一个被选中,其余的 errRed 类 应该消失,并且不应对这些复选框进行验证。

这是fiddle link

任何建议的人

function onClickCall()
{ 
 var checkedItem = 0;
 $('form input.chk_Field_hlt').each(function()
 {
    if( $(this).is(':checked') )
      checkedItem++;
 });

 if(checkedItem > 0)
 {
    // do your work here
 }
 else
 {
     //show error msg
 }
}

onClickCall();

要使一组复选框中的一个复选框成为必需复选框,您只需在该组中的所有复选框上设置相同的 name。使用 required 规则时,单击该组中的一个复选框即可满足。

您不需要创建一个名为 required_Field 并应用 .rules() 方法的自定义 class。所有这些都是多余的。只需将 class 更改为 required,插件将自动应用 required 规则。

然后你的突出显示和取消突出显示需要稍微调整以选择组中的所有复选框。

演示:http://jsfiddle.net/e7Lcs1nm/4/