「 name 」入力フィールドを持つフォームがあり、アプリケーション全体で一意である必要があります。ユーザーがフォームを保存しようとすると、Ajax呼び出しを介してチェックが行われます。ユーザーが「名前」を空のままにしてフォームを保存すると、検証エラーが発生します。この時点以降、「name」フィールドのすべてのキーストロークはAjax呼び出しになります。これを防ぐ方法は?
HTML:
<input type="text" name="name" value="${Name}" />
JS:
var validationParams = {
rules: {
name: {
required: true,
uniqueName: true
}
}
};
...
$.validator.addMethod("uniqueName", uniqueNameFn, 'error msg');
...
saveBtn.on('click', save);
...
function save() {
templateRegion.find(form).validate(validationParams);
if (!templateRegion.find(form).valid()) return;
$.ajax({ ... });
}
// FIRES ON EVERY KEYSTROKE IF 'required' VALIDATION INITIALLY FAILS
function uniqueNameFn(value, elemChanged) {
$.ajax({ ... });
}