jquery验证忽略并包含

时间:2017-06-05 09:17:36

标签: javascript jquery validation

我有一个包含大量字段的表单,其中包括只读字段和隐藏字段。我想为隐藏字段启用验证,但禁用仅准备好字段的验证

在新版本的jQuery验证插件中,隐藏字段的默认验证被忽略。所以要启用它我必须使用:

$("form[name='Formname']").validate({
 ignore: []
});

它工作正常。但我需要忽略readonly字段的验证,为此我需要使用

$("form[name='Formname']").validate({
 ignore: [readonly=readonly]
});

即使我合并了两者,它仍然无法工作,因为它只会忽略只读但不会在隐藏字段上应用vaildation

1 个答案:

答案 0 :(得分:0)

您必须将选择器传递给ignore,如此

ignore: '[readonly]', // This will select all input with readonly and ignore

  

验证时要忽略的元素,只需将其过滤掉即可。   使用了jQuery的not-method,因此接受了所有的东西   not()可以作为此选项传递。提交和重置类型的输入   总是被忽略,禁用的元素也是如此。

<强>段

&#13;
&#13;
$("form[name='Formname']").validate({
 ignore: '[readonly]',
 rules: {
    field: {
      required: true
    },
    field1: {
      required: true
    }} 
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/jquery.validation/1.16.0/jquery.validate.min.js"></script>

<form name="Formname">

<input readonly name="field1">
<input type="text" id="field" name="field">

<input type="submit" value="Validate!">

</form>
&#13;
&#13;
&#13;