お問合せ
MENU

【Contact Form 7】ふりがなのバリデーションメッセージを変更する方法

コードのこと

【Contact Form 7】ふりがなのバリデーションメッセージを変更する方法

今回はContact Form 7の色々なふりがなのバリデーションコードを紹介します!

入力が正しい形式であることを確認するためにバリデーションを設定することは大切です。この記事では、以下の3つのケースについて詳しく説明します。

  • フリガナのカタカナのみOK
  • ふりがなのひらがなのみOK
  • ふりがなのカタカナもしくはひらがなのみOK

それぞれのコードの書き方と設定方法を紹介しますので、ぜひ参考にしてくださいね。

Contact Form 7の準備

まず、Contact Form 7でふりがなフィールドを追加します。
ここでは、フィールド名をyour-furiganaとします。

<label>お名前(ふりがな)[text* your-furigana]</label>

カタカナのみOKのバリデーションコード

まず、カタカナのみを許可するバリデーションを追加します。以下のコードをfunctions.phpファイルに追加してください。

// カタカナのみを許可するバリデーション
add_filter('wpcf7_validate_text*', 'custom_katakana_validation', 20, 2);
function custom_katakana_validation($result, $tag) {
    $name = $tag['name'];
    if ($name == 'your-furigana') {
        $value = isset($_POST[$name]) ? trim($_POST[$name]) : '';
        if (!preg_match('/^[ァ-ヶー]+$/u', $value)) {
            $result->invalidate($tag, 'ふりがなはカタカナで入力してください。');
        }
    }
    return $result;
}

このコードは、ふりがなフィールドにカタカナのみが入力されているかをチェックし、違反している場合にはエラーメッセージを表示します。

ひらがなのみOKのバリデーションコード

次に、ひらがなのみを許可するバリデーションを追加します。以下のコードをfunctions.phpファイルに追加してください。

// ひらがなのみを許可するバリデーション
add_filter('wpcf7_validate_text*', 'custom_hiragana_validation', 20, 2);
function custom_hiragana_validation($result, $tag) {
    $name = $tag['name'];
    if ($name == 'your-furigana') {
        $value = isset($_POST[$name]) ? trim($_POST[$name]) : '';
        if (!preg_match('/^[ぁ-んー]+$/u', $value)) {
            $result->invalidate($tag, 'ふりがなはひらがなで入力してください。');
        }
    }
    return $result;
}

このコードは、ふりがなフィールドにひらがなのみが入力されているかをチェックし、違反している場合にはエラーメッセージを表示します。

カタカナもしくはひらがなのみOKのバリデーションコード

最後に、カタカナもしくはひらがなのみを許可するバリデーションを追加します。以下のコードをfunctions.phpファイルに追加してください。

// カタカナもしくはひらがなのみを許可するバリデーション
add_filter('wpcf7_validate_text*', 'custom_katakana_or_hiragana_validation', 20, 2);
function custom_katakana_or_hiragana_validation($result, $tag) {
    $name = $tag['name'];
    if ($name == 'your-furigana') {
        $value = isset($_POST[$name]) ? trim($_POST[$name]) : '';
        if (!preg_match('/^[ァ-ヶーぁ-んー]+$/u', $value)) {
            $result->invalidate($tag, 'ふりがなはカタカナもしくはひらがなで入力してください。');
        }
    }
    return $result;
}

このコードは、ふりがなフィールドにカタカナまたはひらがなが入力されているかをチェックし、違反している場合にはエラーメッセージを表示します。

私は基本「カタカナもしくはひらがなのみOK」のバリデーションをかけています。

Contact Form 7のふりがなのバリデーションメッセージを変更する方法のまとめ

この記事では、Contact Form 7でふりがなのバリデーションメッセージを変更する方法について説明しました。

  • Contact Form 7にふりがなフィールドを追加する
  • 追加したふりがなのnameに対し、ふりがなチェックのバリデーションコードをfunctions.phpに記述する

カタカナのみ、ひらがなのみ、カタカナもしくはひらがなのみを許可するバリデーションを設定することで、ユーザーの入力を適切に制御することができます。

ぜひ、これらのコードを活用して、あなたのサイトに合ったふりがなバリデーションを実装してみてくださいね!

ブログ一覧へ