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
规则。 默认情况下,插件可以正常处理checkbox
和radio
输入,因此使用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; });
为此你不需要任何插件。 请享用;)