以下答案演示了插件内置回调事件函数的正确用法。外部回调函数的创建是多余且不必要的。
你的代码...
$("#form-user-edit").validate({
keypress : true
});
你不能简单地“化妆”或“发明”.validate()
选项。 keypress:
不存在。有关唯一可用选项,请参阅此页面。
如何设置我的验证器,以便在更改此表单上任何输入的值时检查表单上的所有字段。
已经有一个选项被调用onkeyup
,默认情况下它是打开的。(这仅检查每个按键事件的活动输入。)
您可以修改onkeyup
以满足您的需要。这将检查每个按键事件 的整个表单。
$(document).ready(function() {
$("#form-user-edit").validate({
// other rules and options,
onkeyup: function (element, event) {
if (event.which === 9 && this.elementValue(element) === '') {
return;
} else if (element.name in this.submitted || element === this.lastActive) {
if($("#form-user-edit").valid()) {
$("#form-user-edit .error").removeClass('error');
};
}
}
});
});
工作演示:http: //jsfiddle.net/CMT5r/
工作演示包含修改为按要求运行的 OP 代码。