次の回答は、プラグインの組み込みコールバック イベント関数の適切な使用法を示しています。外部コールバック関数の作成は余分で不要です。
あなたのコード...
$("#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 のコードが含まれています。