We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 19033
    • 892 Posts
    ZeRoさん。ありがとうございます。

    いろいろ、試しているのですが、どうにもパターンをつかめません。。
    エラーメッセージの部分で、<ul><li>~</li></ul>を利用できるロジックになってないんでしょうか。。
    (なってないんですよね。。きっと)。

    それでもう少しがんばってみたいのですが。。
    まず以下のようにしてみました

    eform.inc.php 側
    $vtmp = implode("</li><li>",$vMsg);
    $vtmp .= "</li>";
    $tmp .= "<li>".$vtmp."";


    言語ファイル側
    $_lang["ef_validation_message"] = "<div class=\"errors\">
    <p><strong>いくつかのエラーが見つかりました</strong></p>
    <ul>
    [+ef_wrapper+]
    </ul>
    </div>";


    とりあえずここまではOKでしょうか...?

    ---*---*---*---*---*---
    追記
    あと、言語ファイルを以下のようにしました。
    $_lang["ef_required_message"] = "<li>{fields}は、必須項目です</li>";
      • 19033
      • 892 Posts
      動作報告致します。よろしくお願い致します。
      efrom.inc.phpおよび、言語ファイルは直前の書き込みのままです。

      この時、言語ファイル「$_lang["ef_required_message"] = "<li>{fields}は、必須項目です</li>";」から
      呼び出されるエラーメッセージが1個ならばいいあんばいなのですが、例えば以下のようです。
      <div class="errors">
      <p><strong>いくつかのエラーが見つかりました</strong></p>
      <ul>
      <li>お名前は、必須項目です</li>
      </ul>
      </div>


      しかし2個(以上)になりますと、以下のようになります。
      <div class="errors">
      <p><strong>いくつかのエラーが見つかりました</strong></p>
      <ul>
      <li>お名前, メッセージは、必須項目です</li><li></li>
      </ul>
      </div>


      よろしくお願いします。。
        • 33488
        • 429 Posts
        ちょっと実際に動かしてみます。
        ちょうど、MODxのサイトのサーバ移転作業と合わせて、PHP5周りでのeFormも確認しないといけないので・・。
        eFromに辿り着く前にCSSに嵌っちゃってますけど・・・しばし時間くださいませ。
        って 本当にうまくいけるかがちょっと微妙ですけど・・・。ロジック変更せずにうまくいけないかなぁ
        2つ目がメッセージなしっていうのが気になりますが
          • 19033
          • 892 Posts
          ありがとうございます。
          了解しました。どうぞよろしくおねがいいたします。

          えと。これはですね。。
          2つ目がメッセージなしっていうのが気になりますが

          必須項目が二つ以上の場合も1個の<li>~</li>の中にまとめられるようなのです。
          たとえば、ひとつだと、
          <li>メッセージA、必須項目です</li>

          二つだと、
          <li>メッセージA, メッセージBは、必須項目です</li>

          といった具合に。。で、2個以上の時、
          <li>メッセージA, メッセージBは、必須項目です</li><li></li>

          になると。。
            • 33488
            • 429 Posts
            			$tmp = (count($rMsg)>0)?str_replace("{fields}", implode(", ",$rMsg),$_lang['ef_required_message']):"";
            			$tmp .= (count($vMsg)>0)? "<li>".implode("</li><li>",$vMsg)."</li>" :"";
            

            こんな感じの修正でどうでしょう?
            今までの$vtmpで一旦入れていたのをやめてシンプルに修正してみました。
            空行が出るのは、$vMsgに何も入ってない場合でもLIタグ使っていたので、それを判別してLIタグをつけるようにしました。
            これが2行目の修正です。
            必須項目は、現状のままカンマ区切りになっちゃいますが・・・これを引っ剥がして1行ずつがよいんですか?
              • 19033
              • 892 Posts
              ZeRoさん。ありがとうございます。試してご報告いたします。
              必須項目は、現状のままカンマ区切りになっちゃいますが・・・これを引っ剥がして1行ずつがよいんですか?
              いえ、カンマ区切りで良いです。このままで。。

              ---*---*---*---*---*---
              2007.08.02 追記
              試してみました。大丈夫そうです。
              どうもありがとうございました。
              サイトの方にも掲載させて頂きます。^^。