1

MVC アプリケーションで次のように jQuery 検証オプションを有効にしました。

$.validator.setDefaults({
    onkeyup: false,
    onfocusin: false
});

つまり、フォーカス アウト時に検証が行われます。ここで、次のシナリオで問題に直面しています。

  1. ユーザーが無効なデータを入力してフォームを送信しました (検証エラーが表示されます)
  2. ユーザーがデータを修正し、現在のテキスト ボックスからフォーカスを移動せずに送信ボタンをクリックしました。このステップでは、送信は機能せず、検証エラーのみが解消されます。ここで必要だったのは、データが正しい場合にフォームを送信することです。

このhttp://jsfiddle.net/8r47E/15/の jsfiddle を作成しました 。これについての考えを共有してください。

4

1 に答える 1

0

のようなものはありませんonfocusin:。意味onfocusout:ですか?

また、jsFiddleでこれらのいずれも使用していません。

    debug: false,
    focusInvalid: false,
    onkeyup: false,
    onclick: false,

これは、あなたの望むことですか?

    debug: false,
    focusInvalid: false,
    onkeyup: false,
    onclick: false,
    onfocusout: false,

http://jsfiddle.net/8r47E/24/

.validate()各オプションを詳細に説明しているドキュメントを表示するには、ここをクリックしてください

もちろん、あなたのデモは私にとってはうまく機能しているようです。submitカーソルを入力から離さずに「成功」​​します。

あなたが何をしようとしているのかよくわかりません。あなたが説明する望ましい振る舞いは、ほとんどすべての人がこの検証が機能することを期待する方法であり、それはたまたまデフォルトでどのように機能するかです。

onfocusoutに設定されたエラーがある場合でもfalse、プラグインの組み込みの送信ハンドラーがフォームの有効性を再度自動的にチェックするため、カーソルを離さずに(エラーを修正した後)フォームを送信できます。

http://jsfiddle.net/8r47E/25/

于 2012-12-09T21:57:49.993 に答える