如何使用jQuery Form Validation插件验证隐藏的输入和不可见的文本输入?问题是,我正在使用自动建议插件,它为所选项目生成隐藏输入:
<input id="hiddenInput" type="hidden" name="something" value="1" />
我有2个像这样的输入(它们都只允许1个项目),我想验证它并在父<td>
中显示错误。
这是我到目前为止所得到的,但如果该值实际上是一个数字,它不会显示错误或提交表单。
$("#form1").validate({
rules: {
something: {
number:true,
min:1,
required:true
}
}
})
答案 0 :(得分:114)
要允许验证隐藏元素,请覆盖忽略并将其设置为空字符串:
$("#form1").validate({
ignore: "",
rules: {
something: {
number:true,
min:1,
required:true
}
}
});
答案 1 :(得分:25)
您可以使用ignore
这样的选项:
$("#form1").validate({
ignore: "input[type='text']:hidden",
rules: {
something: {
number:true,
min:1,
required:true
}
}
});
ignore
选项的默认值为:hidden
,忽略所有隐藏字段和不可见字段(display: none
等。)
答案 2 :(得分:14)
如果其他答案对您不起作用,请尝试此操作。它删除了表单的所有忽略,因此它将验证包括隐藏字段在内的所有内容:
$.data($('form')[0], 'validator').settings.ignore = "";
要恢复设置以忽略隐藏字段,请使用以下内容:
$.data($('form')[0], 'validator').settings.ignore = "input[type='text']:hidden";
您也可以使用上面的代码回读当前值。
答案 3 :(得分:5)
验证隐藏输入的另一种方法是:
$("#form1").validate({
ignore: "not:hidden",
rules: {
something: {
number:true,
min:1,
required:true
}
}
});