仅对少数特定隐藏字段启用验证

时间:2016-01-11 14:08:19

标签: jquery jquery-validate

作为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
    });
});

使用这样的配置对象,有什么方法可以让我设置它以允许我选择要验证的特定隐藏输入,没有必须指定插件的每个输入必须忽略?

或者,是否存在我可以在此场景中使用的验证事件挂钩?

1 个答案:

答案 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添加到您仍想要验证的隐藏元素中。