0

私はこのプラグインを使用しています:http: //bassistance.de/jquery-plugins/jquery-plugin-validation/

JQueryフォーム検証用。メールフィールドを除いて、すべてがうまく機能しています。そのフィールドに入力し始めるとすぐに、「有効なメールアドレスを入力してください」。これまでに入力した内容が正しいのに、メッセージが表示されます。

ドキュメント(http://docs.jquery.com/Plugins/Validation)には次のように書かれています。

「フィールドが無効としてマークされる前は、検証は怠惰です。フォームを初めて送信する前に、ユーザーは迷惑なメッセージを受け取らずにフィールドをタブで移動できます。実際に正しいものを入力する前にバグが発生することはありません。価値"

しかし、これは電子メールフィールドでは発生しないようです。

この問題は、作成者のデモでも確認できます:http: //jquery.bassistance.de/validate/demo/

この動作のオプション/回避策はありますか?

4

2 に答える 2

0

「フィールドが無効としてマークされる前に、検証は怠惰です: フォームを初めて送信する前に、ユーザーは煩わしいメッセージを受け取ることなくフィールドをタブで移動できます.価値"

しかし、これは電子メール フィールドでは発生しないようです。

emailルールだけではありません。minlengthルールでも同じ動作を確認できます。

http://jsfiddle.net/f3sxF/

この動作のオプション/回避策はありますか?

これを修正しているように見えるプレリリース版を使用できます。ただし、本番サイトでプラグインの「プレリリース」バージョンを使用して新しいバグの危険を冒すのではなく、単にonkeyupコールバック関数の修正バージョンを使用できます...

$('#myform').validate({
    onkeyup: function (element, event) {
        if (event.which === 9 && this.elementValue(element) === '') {
            return;
        } else if (element.name in this.submitted ) {
            this.element(element);
        }
    },
    // your other options
});

onkeyup上記を使用すると、フォームが初めて送信されるまで、または入力されたデータを含むフィールドからユーザーがタブで移動するまで、すべての検証が無視されます。

デモ: http://jsfiddle.net/wNj4n/

于 2013-01-28T16:13:28.767 に答える
0

この動作は、github の最新のjquery-validate.js で修正されています。バグは次のように報告されました

「テキストがフィールドに入力されると、電子メールの検証がすぐに開始されます」

バグレポートとディスカッションはこちら

于 2013-01-28T15:55:06.423 に答える