jQueryvalidation插件 – validation隐藏的input和不可见?

如何使用jQuery Form Validation插件validation隐藏的input和不可见的文本input? 问题是,我正在使用自动build议插件,它会为选定的项目生成一个隐藏的input:

<input id="hiddenInput" type="hidden" name="something" value="1" /> 

我有这样的2个input(他们都只允许1项),我想validation并显示错误在父<td> 。 这是我到目前为止,但它不显示错误或提交表单,如果该值实际上是一个数字。

 $("#form1").validate({ rules: { something: { number:true, min:1, required:true } } }) 

要允许隐藏元素的validation,请覆盖ignore并将其设置为空string:

 $("#form1").validate({ ignore: "", rules: { something: { number:true, min:1, required:true } } }); 

你可以使用这样的ignore选项:

 $("#form1").validate({ ignore: "input[type='text']:hidden", rules: { something: { number:true, min:1, required:true } } }); 

ignore选项的默认值是:hidden ,忽略所有隐藏的字段和不可见的字段( display: none等)

如果其他答案不适合你,那就试试这个。 它删除所有的表单忽略,所以它将validation包括隐藏的领域的一切:

 $.data($('form')[0], 'validator').settings.ignore = ""; 

要恢复设置以忽略隐藏的字段,请使用如下所示的内容:

 $.data($('form')[0], 'validator').settings.ignore = "input[type='text']:hidden"; 

您也可以使用上面的代码来回读当前值。

validation隐藏input的另一种方法是:

 $("#form1").validate({ ignore: "not:hidden", rules: { something: { number:true, min:1, required:true } } });