0

私はvalidate.jsを使ってフォームをjQueryで検証しています。エラーがある場合、ユーザーが送信ボタンをクリックすると、エラー メッセージがポップアップ表示されます。ユーザーがフォームに入力し、検証エラーがない場合、フォームは送信されず、検証成功メッセージ (ユーザーが検証に合格した) が表示されますが、フォームは送信されません (またはアクションが実行されません)。

以下は、これらのメッセージを作成する jQuery の一部です。

function(errors, event) {
    var SELECTOR_ERRORS = $('.error_box'),
    SELECTOR_SUCCESS = $('.success_box');

    if (errors.length > 0) {
        SELECTOR_ERRORS.empty();

        for (var i = 0, errorLength = errors.length; i < errorLength; i++) {
            SELECTOR_ERRORS.append(errors[i].message + '<br />');
        }

        SELECTOR_SUCCESS.css({ display: 'none' });
        SELECTOR_ERRORS.fadeIn(200);

        } else {
             SELECTOR_ERRORS.css({ display: 'none' });
             SELECTOR_SUCCESS.fadeIn(200);

        }

       if (event && event.preventDefault) {
           event.preventDefault();
       } else if (event) {
           event.returnValue = false;
       }

ご覧のとおり、エラーがない場合はSELECTOR_SUCCESSフェードインします。エラーがない場合はフォームを送信し、メッセージを表示したくありません。1 行 ( ) を削除することでメッセージを簡単に取り除くことができますがSELECTOR_SUCCESS.fadeIn(200);、代わりに送信するフォームも必要です。デフォルトのアクションが防止されている最後の数行が原因で、フォームは送信されません。このような状況のベストプラクティスは何ですか??

4

0 に答える 0