0
//html
<form id="idform">
<input id="id_t_email">
<input id="id_p_password" type="password">
</form>
//js
$('#idform').validate();
$('#id_t_email').rules('add',{email:true});
$('#id_p_password').rules('add',{required:true});
我遇到一个奇怪的问题。
作为上面的代码,应该只对'id_t_email'进行“email”验证,并且只对id_p_password进行“必需”验证。
但实际上,“id_p_password”和“id_t_email”同时通过“email”和“required”验证。
此外,如果我叫是不是Jquery.validate.rules(“add”,{.....})被窃听?
$('#id_t_email').rules('add',{email:true});
$('#id_p_password').rules('add',{email:false});
然后各个领域的规则“电子邮件”,将删除
(即“id_t_email”将不再被“电子邮件”验证)
那是一个关键的错误?
那么,我研究了源代码后解决了这个问题。 主要问题是:所有$ .validate字段都需要自己的“名称”。 这个插件使用element.name作为所有验证字段的索引 也就是说,如果一个元素没有name属性并且会有一些奇怪的问题。 –