focusInvalid
デフォルトであるオプションがありtrue
ます。ただし、フォームの送信が発生した場合にのみ機能します。メソッドでフォームを検証するとvalid
、機能しません。問題は、valid
使用時に無効なフィールドにフォーカスする方法です。
このデモを見て違いを確認してください。そこでボタンを押すだけ。
focusInvalid
デフォルトであるオプションがありtrue
ます。ただし、フォームの送信が発生した場合にのみ機能します。メソッドでフォームを検証するとvalid
、機能しません。問題は、valid
使用時に無効なフィールドにフォーカスする方法です。
このデモを見て違いを確認してください。そこでボタンを押すだけ。
を使用するinvalidHandler
と、失敗した最初の要素にフォーカスを設定できます。
$("#form").validate({
onfocusout: false,
invalidHandler: function(form, validator) {
var errors = validator.numberOfInvalids();
if (errors) {
validator.errorList[0].element.focus();
}
}
});
まず、バリデーターを変数に保存して、クリック ハンドラーで使用できるようにする必要があります。
var validator = $("#test-form").validate({ /* settings */ });
次に、検証ハンドラーで、変数focusInvalid
から関数を手動で呼び出すことができます。validator
$("#validate").click(function() {
if ($("#test-form").valid())
alert("Valid!");
else
validator.focusInvalid();
return false;
});