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屬性並且會有一些奇怪的問題。 –