1

私はASP.NET MVCを使用しています。jQuery、jQuery validate、jQuery validate.config、jQueryを使用して、バンドル内の控えめで控えめなAjaxやその他のライブラリを検証します。私は自分のページにフォームを持っていて、その内部にいくつかのフィールドがあります。ボタンのタイプのボタンがあり、ユーザーがボタンをクリックすると、何かをやろうとしていて、$(form).submit()を実行します。これは、jQueryのvalidateメソッドのsubmithandlerによって傍受され、フォームを送信するのではなく私のサーバーにajax投稿を行います。私がjQuery.validateメソッドを使用する理由は、フォーム内に条件付きの必須フィールドとその他のバリデーションがたくさんあることです。しかし、何らかの理由でjQueryの検証が実行/実行されていないため、フォームは送信ハンドラによって代行受信される代わりに送信されます。私はすべてが正しく設定されていると、なぜ動作しないのか分かりません。ここでは、jQueryの検証メソッドの呼び出しです。私は警告が良いとは思わない。あなたは控えめな検証プラグインを使用している場合jQuery Validateが実行されていません

$('form[name="submitCheckoutForm"]').validate({ 
    debug: true, 
    rules: { 
     "Password": { 
      required: true 
     } 
    }, 
    submitHandler: function (form) { 
     //actions.SubmitCheckout(); 
     alert('is good'); 
     return false; 
    } 
}); 
+0

あなたのボタンコードはどこですか?ボタン –

+0

のHTMLコードを追加してください。スニペットの例が役立ちます。 –

答えて

1

を使用してください、そして、あなたはまた、jQueryの検証の.validate()メソッドを呼び出すことはできません。

なぜですか?

  1. 控えめな検証プラグイン自動的は、フォーム内のさまざまなデータ属性に基づいて.validate()方法を構築します。

  2. jQuery Validateプラグインでは、同じフォーム上で.validate()メソッドを複数回呼び出すことはできません。したがって、控えめな検証を使用して.validate()を構築しているので、.validate()への他の呼び出しは完全に無視されます。

+0

私はそれを行う唯一の方法は、条件に応じて必要な属性を追加したり削除したりすることだと思いますか?私は控えめなプラグインを削除するつもりはないので。 – Jesus

+0

@イエスス、それはうまくいくはずです。 – Sparky

+0

Sparkyありがとう – Jesus

0

required attribute代わり

<input type="password" required> 
+0

それは特定の条件の下でのみ必要となるため、私はそれを行うことはできません。 – Jesus