jQuery Validation插件:validation复选框

我正在使用jQuery Validation插件来validation复选框,因为它没有默认选项,应该选择One,并且可以选择最多两个复选框,这些是标准。 我没有收到任何错误,也没有validation。 我正在扩展它,如下所示,

x y z $("#formid").validate({ rules: { test[]: { required: function(elem) { return $("input.select:checked").length > 0; } }, messages: { test[]: "You must check at least 1 box" } }); 

你的代码有几个问题。

1)在你的rules缺少一个右括号}

2)在这种情况下,没有理由将函数用于required规则。 默认情况下,插件可以正常处理checkboxradio输入,因此使用true就足够了。 但是,这将简单地执行与原始函数相同的逻辑,并validation是否至少检查了一个。

3)如果您还希望仅检查最多两个,则需要应用maxlength规则。

4) messages选项缺少规则规范。 它可以工作,但是一个自定义消息将适用于同一字段上的所有规则。

5)如果name属性包含括号,则必须将其括在引号内 。

演示: http : //jsfiddle.net/K6Wvk/

 $(document).ready(function () { $('#formid').validate({ // initialize the plugin rules: { 'test[]': { required: true, maxlength: 2 } }, messages: { 'test[]': { required: "You must check at least 1 box", maxlength: "Check no more than {0} boxes" } } }); }); 

有简单的方法

HTML:

 x y z  

JQUERY:

 $("#submit").on("click",function(){ if (($("input[name*='test']:checked").length)<=0) { alert("You must check at least 1 box"); } return true; }); 

为此你不需要任何插件。 请享用;)