我使用相同的表单来添加和编辑值.在添加项目期间,我希望它强制对服务器进行名称检查.但是,在编辑模式期间,我希望它不能验证,因为名称可能不会更改.我试图根据下面的文档链接将验证器中的ignore属性设置为“ignore”类.我在名称输入中使用相同的类名,但这不起作用.它不断验证服务器.有什么想法吗?
我使用的代码的URL,主要是验证函数. http://jqueryvalidation.org/validate/
基于ignore属性的文档,它指出:
验证时忽略的元素,只需将其过滤掉.使用jQuery的not方法,因此not()可接受的一切都可以作为此选项传递.总是忽略类型提交和重置的输入,因此禁用元素.
解决方法
>您无法为表单或单个字段元素打开/关闭jQuery Validate插件.没有这方法或解决方法.
>忽略选项在.validate()调用中设置,这是插件的“一次”初始化,因此您无法动态更改或切换选项.对.validate()的任何后续调用都将被忽略.
>忽略选项在.validate()调用中设置,这是插件的“一次”初始化,因此您无法动态更改或切换选项.对.validate()的任何后续调用都将被忽略.
在使用.validate()初始化插件后,您唯一的解决方案是使用.rules()方法为各个字段元素动态“添加”和“删除”规则.不要被’add’术语欺骗…这个方法也允许你覆盖现有的规则,所以你不一定要先删除它们.
要根据需要动态设置字段:
$('#myfield').rules('add',{ required: true // set a new rule });
要将该字段动态设置为不需要:
$('#myfield').rules('add',{ required: false // overwrite an existing rule });
要么
$('#myfield').rules('remove','required'); // removes only specified rule(s)
要么
$('#myfield').rules('remove'); // removes all rules for this field