使用 jQuery Validate 插件,我如何确保至少三个复选框中的一个已被选中?到目前为止,我能做的最好的事情是使所有三个复选框都成为必需的(这不是我想要的),我的代码如下。
我尝试在 jQuery Validate 演示页面上使用此示例,但这要求每个复选框字段都具有相同的名称。我无法做到这一点,因为这些字段是从 CMS 中提取的,并且它们每个都需要不同的名称。
我想将其保留在 jQuery validate 中,因为我在这里验证了许多其他字段(已删除以保持此示例干净),这是我可以用我有限的 JS/jQuery 知识验证表单的唯一方法。提前感谢您对此的任何帮助。
这是我的 HTML:
<form class="my_form" method="post" action="/" >
<div><ul class="form_errors"></ul></div>
<label><input class="my_checkbox_group" id="my_checkbox_1" name="my_checkbox_1[]" type="checkbox" value="Yes"> My checkbox 1</label>
<label><input class="my_checkbox_group" id="my_checkbox_2" name="my_checkbox_2[]" type="checkbox" value="Yes"> My checkbox 2</label>
<label><input class="my_checkbox_group" id="my_checkbox_3" name="my_checkbox_3[]" type="checkbox" value="Yes"> My checkbox 3</label>
<input type="submit" value="Submit" />
</form>
这是我的 JS:
$(".my_form").validate({
errorLabelContainer: ".form_errors",
wrapper: "li",
rules: {
'my_checkbox_1[]': { required: true },
'my_checkbox_2[]': { required: true },
'my_checkbox_3[]': { required: true }
},
messages: {
'my_checkbox_1[]': "This field is required",
'my_checkbox_2[]': "This field is required",
'my_checkbox_3[]': "This field is required"
}
});