我有一个包含大量字段的表单,其中包括只读字段和隐藏字段。我想为隐藏字段启用验证,但禁用仅准备好字段的验证
在新版本的jQuery验证插件中,隐藏字段的默认验证被忽略。所以要启用它我必须使用:
$("form[name='Formname']").validate({
ignore: []
});
它工作正常。但我需要忽略readonly字段的验证,为此我需要使用
$("form[name='Formname']").validate({
ignore: [readonly=readonly]
});
即使我合并了两者,它仍然无法工作,因为它只会忽略只读但不会在隐藏字段上应用vaildation
答案 0 :(得分:0)
您必须将选择器传递给ignore,如此
ignore: '[readonly]', // This will select all input with readonly and ignore
验证时要忽略的元素,只需将其过滤掉即可。 使用了jQuery的not-method,因此接受了所有的东西 not()可以作为此选项传递。提交和重置类型的输入 总是被忽略,禁用的元素也是如此。
<强>段强>
$("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;