复选框使用“fieldname []”会中断jquery验证

时间:2012-02-29 18:02:16

标签: php jquery forms jquery-validate

所以我有一个需要验证的表格。其余的表单验证工作,但当我使用php属性[]添加复选框组以形成一个数组的复选框。复选框不再适用于我的验证脚本。

$("form[name='violationsForm']").validate({
    ignore: ":hidden,[name='']", // do not validate form fields in invisible sections
    errorPlacement: function(error, element) {
         $(element).attr("class","error");
         error.insertAfter(element);
     },
    rules: {
         owner_address: { required: true, minlength: 5 }
        ,owner_county: { required: true, minlength: 1 }
        ,date1: { required: true, minlength: 2 }
        ,time1: { required: true, minlength: 2 }
        ,timeframe1: { required: true, minlength: 2 }
        ,violation[]: { required: true}
    }

});

添加 ,违规[]:{required:true} 打破整个验证脚本。 以下是我的参考表格输入

<li>
<label><strong>Type of Violation (required):</strong></label><br />
<label>type 1 <input type="checkbox" id="violation" name="violation[]" value="1"     
 title="Please choose at least ONE violation."/></label><br />
 <label>type 2 <input type="checkbox" id="violation" name="violation[]" value="2" />  
</label><br />
<label>type 3 <input type="checkbox" id="violation" name="violation[]" value="3" />
</label><br />
<label>type 4 <input type="checkbox" id="violation" name="violation[]" value="4" />
</label><br />
<label>type 5 <input type="checkbox" id="violation" name="violation[]" value="5" />  
</label><br />
<label>Other <input type="checkbox" id="violation_0" name="violation[]" value="other" />
</label><br />
</li>

由于我使用的是php,我更喜欢将[]附加到我的输入“name”值。有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

用引号括起来:

"violation[]"

答案 1 :(得分:0)

特殊字符需要在jQuery选择器中使用双反斜杠转义。在为rules对象创建键时,它们将被用作选择器。

选择器API的顶部部分包含所有转义信息 http://api.jquery.com/category/selectors/