サポート » プラグイン » contact form 7 @以前に.の入ったメールアドレスのチェックについて

  • 解決済 irana_gmw

    (@irana_gmw)


    初めまして。

    contact form 7 バージョン3.3.3でお問い合わせフォームを作成しておりますが、
    @以前に.の入ったアドレス(hoge.moge@gmail.comの様なアドレス)が排除されてしまう状況が解決できずに悩んでおります。

    以前同様の質問
    contact form 7 メールアドレスのエラーチェック方法の変更
    http://ja.forums.wordpress.org/topic/12961

    があり、Takayuki Miyoshi様のご返信でis_emailにてチェックをされている、とのことでしたが、
    コメント欄もis_emailでメールアドレスをチェックしている筈ですが、
    コメント欄では、.の入ったgmailアドレスは排除されません。
    /wp-includes/formatting.phpを確認しましたが、is_emailでは.の入ったアドレスを排除していないように見えます。

    contact form 7のtext.phpの Validation filter にはis_emailの記述がありますが、
    is_emailだけでチェックしているのであれば、.の入ったアドレスは排除されないように思うのですが…?

    一点気になったのが、Shortcode handler部分のforeach文での正規表現で.が含まれていない点です。
    もしかして、ここで引っかかっている、ということはありますでしょうか?

    php初心者のため、読み解きに誤解があるようでしたら申し訳ありません。
    誤解でしたら、Validation filterにどのように記述したら.の入ったアドレスを有効にできるのか、ご教示いただけましたら幸いです。

    よろしくお願い致します。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • モデレーター Takayuki Miyoshi

    (@takayukister)

    はい。おっしゃるとおり is_email() では . を含むアドレスは排除されません。以前の質問での私の回答は具体的に . のことを想定したものではなく、どうすればチェック方法をカスタマイズできるかという一般の話でした。

    で、ではなぜ Contact Form 7 では . を含むメールアドレスを排除するかというと、そもそもそのような事実はなく、Contact Form 7 でも . を含むメールアドレスは普通に通ります。もし他のサイトでもお使いでしたら試してみてください。

    特定のサイトだけで . を含むメールアドレスがバリデーションエラーになる、ということでしたら、他のプラグインかテーマが処理に干渉している可能性が考えられます。他のすべてのプラグインを無効化してテーマをデフォルトのものに戻して試してみてください。

    Takayuki Miyoshi様

    早速のご回答ありがとうございます。
    以前の質問には

    デフォルトだと、アドレス前方に「.」が入っていたりや、1文字だけだったりすると不正なアドレスと判断されるようです。

    と書かれていたので、てっきりContact Form 7のデフォルトで排除するようになっていると思っていました。

    Contact Form 7では.を含むアドレスを排除する仕組みは持っていないのですね。
    プラグインとテーマの件、確認してみます。
    ちょっと時間がかかるかもしれませんが、確認結果はまたご報告します。

    .が排除される原因が判明いたしました。

    wordpressのcontact form7で確認画面を出す手軽なライブラリ
    http://aulta.jp/library/wordpress/contactForm7Confirm.html

    こちらのライブラリのjsにもValidationルールがあるのですが、
    そちらに.が含まれていなかったために弾かれていたようです。
    (ライブラリを外したことで判明)

    まだjsの修正が完了していないので完全に解決した、とは言えませんが、
    弾かれる原因が判明いたしましたので、ひとまず解決済みとさせていただきます。

    Takayuki Miyoshi様、お騒がせいたしました。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「contact form 7 @以前に.の入ったメールアドレスのチェックについて」には新たに返信することはできません。