フォーラムへの返信

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック投稿者 tpnagahashi

    (@tpnagahashi)

    manboさま
    ryu263さま

    具体的なアドバイスありがとうございました!
    お蔭で思っていた形でのエラー表記ができました。

    検討した結果、Jsファイルに

    // MW WP Form エラーメッセージの表示
    jQuery(function() {
    	if( $( '.mw_wp_form .error' ).length ) {
    		$( '.mw_wp_form' ).addClass( 'mw_wp_form_error' );
    	}
    });

    とし、
    フォームのほうに

    <p class="error-message">未回答の必須フィールドまたはエラーを含む回答があります。 これをチェックしてください。</p>
    <p>[mwform_error keys="q1"]</p>
    <p>[mwform_error keys="q1-2"]</p>

    と設定。
    エラー時に共通のメッセージを出すことができました。

    本当にありがとうございました。

    トピック投稿者 tpnagahashi

    (@tpnagahashi)

    manboさま
    色々ご指摘ありがとうございます。

    >これをどこに表示するのかということを尋ねただけで実際の本当の画面でなくとも、適当なフォームの形を作ってそこへ書き込んでもらった方が伝わりやすいという意味なんですが?

    理解不足ですみません。
    改めて、希望するフォームの形をかいてみました。

    <form>
    <p>未回答の必須フィールドまたはエラーを含む回答があります。 これをチェックしてください。</p>
    <p>[mwform_error keys="q1"]</p>
    <p>[mwform_error keys="q2"]</p>
    <p>問1の質問</p>
    [mwform_textarea name="q1" cols="101" rows="1" show_error="false"]
    <p>問2の質問</p>
    [mwform_textarea name="q2" cols="101" rows="1" show_error="false"]
    <li>[mwform_submitButton name="mwform_submitButton-xxx" submit_value="Submit"]</li>
    </form>

    >とりあえずフォームの上とか下とか一か所に表示という考え?
    というよりかはフォームの中、エラーのすぐ上に表示したいです。

    manboさんの提示していただいた
    「mwform_post_content_mw-wp-form-xxx」を使うやりかたは、

    <p>未回答の必須フィールドまたはエラーを含む回答があります。 これをチェックしてください。</p>
    <form>
    <p>[mwform_error keys="q1"]</p>
    </form>

    となるということでしょうか?

    また、
    >多分、これだと表示されたままになると思うので、入力エラーがある時だけ文言を出力するようにしたら良いと思います。

    ということは別の仕掛け(たとえばJavaScript)を入れる必要があるということでしょうか?

    重ねての質問でご迷惑をおかけしますが、
    どうぞよろしくおねがいします。

    トピック投稿者 tpnagahashi

    (@tpnagahashi)

    manboさま
    ご返信頂きありがとうございます。

    おっしゃる通り、MW WP Formで作ったフォームにバリデーションルールを追加、「必須項目」にチェックをいれました。
    また、fanctions.phpにフィルターフックとして、
    「mwform_validation_mw-wp-form-xxx」を追記して、個別の質問に対するエラーメッセージを設定しました。

    fanctions.php

    function my_validation_rule( $Validation, $data, $Data ) {
        $Validation->set_rule( 'q1', 'required', array( 'message' => '問1:必須項目です。' ) );
        $Validation->set_rule( 'q1-2', 'noEmpty', array( 'message' => '問1-2:必須項目です。' ) );
        return $Validation;
    }
    add_filter( 'mwform_validation_mw-wp-form-2992', 'my_validation_rule', 10, 3 );

    このルールに追記できればとても有難いのですが、可能かどうかもわかりません。
    画面は公開前のものなので、難しいです。すみません。

    伝わりにくい内容で申し訳ないのですが、ご教示いただけると助かります。
    どうぞよろしくお願いします。

3件の返信を表示中 - 1 - 3件目 (全3件中)