使用 jquery validate 插件,我只想在调用元素的 blur 事件时显示/隐藏错误,不想在您键入时显示错误消息。为了解决这个问题,我尝试了
$('#form').validate({
onfocusout: true,
onkeyup: false
});
但是一旦我在任何元素之外单击它就会引发错误
Uncaught TypeError: Object #<error> has no method 'call'
使用 jquery validate 插件,我只想在调用元素的 blur 事件时显示/隐藏错误,不想在您键入时显示错误消息。为了解决这个问题,我尝试了
$('#form').validate({
onfocusout: true,
onkeyup: false
});
但是一旦我在任何元素之外单击它就会引发错误
Uncaught TypeError: Object #<error> has no method 'call'
onfocusout
不是,改为onfoucusout
:
$('#form').validate({
onfocusout: function(element) { $(element).valid(); },
onkeyup: function(element) { $(element).valid(); }
});
正如 Sudhir 已经指出的那样,您拼错了该onfocusout
选项。
此外,默认情况下,此插件中已启用onfocusout
和选项。onkeyup
你只有两个选择...
1)如果你想禁用onfocusout
or onkeyup
,你可以将它们设置为false
...
$('#form').validate({
onfocusout: false, // disable validation on blur
onkeyup: false // disable validation on key-up
});
2)如果您想修改onfocusout
or的默认行为onkeyup
,您可以将它们设置为您的自定义函数...
$('#form').validate({
onfocusout: function(element, event) {
// your custom callback function for blur event
},
onkeyup: function(element, event) {
// your custom callback function for key-up event
}
});
onfocusout
否则,如果您只是想要oronkeyup
选项的默认行为,请将它们完全排除在.validate()
调用之外。 根据文档,将这些设置为true
“不是有效值”并且会破坏插件。
$('#form').validate({
// onfocusout: true, // <- remove this line, true value is not valid
// onkeyup: true // <- remove this line, true value is not valid
});
文档:
onfocusout
类型:Boolean 或 Function(
) 在 blur 上验证元素(复选框/单选按钮除外)。如果未输入任何内容,则跳过所有规则,除非该字段已被标记为无效。设置为 Function 以自行决定何时运行验证。 布尔值 true 不是有效值。
onkeyup
类型:Boolean 或 Function()
验证 keyup 上的元素。只要该字段未被标记为无效,就不会发生任何事情。否则,将检查每个按键事件的所有规则。设置为 false 以禁用。设置为 Function 以自行决定何时运行验证。 布尔值 true 不是有效值。