我已经为名为validate()
的 jQuery login_auth
编写了单独规则,我希望该规则在每次按键时都不会被调用但是我希望将所有其他规则称为onkeyup
。这意味着应该在每个密钥上调用所有其他内置的规则,例如email
和password
,但只应在login_auth
上调用onfocusout
或blur
{{1}}。
答案 0 :(得分:4)
$.validator.setDefaults({
onkeyup: function(element) {
if (element.name == '#emailid') {
return false;
}
}
});
在表单中,如果要停止特定ID的keyup事件,请尝试此操作。
答案 1 :(得分:3)
在您发布实际的HTML和jQuery之前,这是我的最佳答案。
我知道无法有选择地应用任何插件选项....而是将它们应用于插件的每个实例。
因此,我建议使用两个表单,以便您可以拥有两个.validate()
的唯一实例,并在一个表单上应用onkeyup: false
选项,同时允许onkeyup
在另一个表单上正常运行形式。
<强> HTML:强>
<form id="authForm" action="#">
login: <input type="text" name="login" /><br />
</form>
<form id="Form" action="yourAction" method="yourMethod">
email: <input type="text" name="email" /><br />
password: <input type="password" name="password" /><br />
<input type="submit" />
</form>
<强> jQuery的:强>
$(document).ready(function() {
$('#authForm').validate({
onkeyup: false,
rules: {
login: {
login_auth: true, // your custom rule
required: true
}
}
});
$('#Form').validate({
rules: {
email: {
required: true,
email: true
},
password: {
required: true
}
},
submitHandler: function(form) {
if ($('#authForm').valid()) {
form.submit();
}
},
errorPlacement: function(error, element) {
$('#authForm').valid(); // force validation on first form when this form has error
error.insertAfter(element); // default error placement
}
});
});