web-dev-qa-db-ja.com

jqueryを送信する前にフォームを検証する

HTMLフォームがあります。 jquery.validate.jsを使用してフォームを検証していますが、送信イベントで機能します。送信する前にこのフォームを検証したいと思います。

私の研究開発によると、私は試しました:

$('#my-form').on('before-submit',function(){
   alert('Before submit performed');
});

送信イベントを起動する直前にフォームを検証したい。これを行う方法を教えてもらえますか?

どうもありがとう、

M

7
Maverick

次のように、デフォルトのjQueryプラグインの動作を模倣できます。

formが有効かどうかをテストします。そうでない場合は、preventDefault()を使用してデフォルトアクションが発生しないようにします。

$(document)
.on('click', 'form button[type=submit]', function(e) {
    var isValid = $(e.target).parents('form').isValid();
    if(!isValid) {
      e.preventDefault(); //prevent the default action
    }
});

[〜#〜] edit [〜#〜]:これは、検証テストを微調整する場合、つまり一部のコントロールを条件付きで検証する場合に便利です。

19
roland