作为this question的必然结果,我如何配置jQuery Validate来验证表单中的某些隐藏字段,但不是全部?
jQuery验证ignores hidden fields by default,这是ASP.NET项目中的一个问题。例如,一个页面可能有一个包含复选框助手(生成隐藏inputs
)的表单,以及可能使用许多隐藏输入的自定义下拉列表。
$(document).ready(function() {
$('#myform').validate({
ignore: [],
// any other options and/or rules
});
});
使用这样的配置对象,有什么方法可以让我设置它以允许我选择要验证的特定隐藏输入,没有必须指定插件的每个输入必须忽略?
或者,是否存在我可以在此场景中使用的验证事件挂钩?
答案 0 :(得分:7)
ignore
属性的default value为":hidden"
。您可以简单地使用:not()
pseudo class来否定特定类被忽略。
例如,如果使用选择器":hidden:not(.do-not-ignore)"
,jQuery validate将忽略除.do-not-ignore
类隐藏元素之外的所有隐藏元素:
$('#myform').validate({
ignore: ':hidden:not(.do-not-ignore)',
// any other options and/or rules
});
这样做,您可以将类.do-not-ignore
添加到您仍想要验证的隐藏元素中。