特定のフォームのユニークな検証メッセージをカスタマイズする

WPFormsで特定のフォームのユニークな検証メッセージをカスタマイズしますか? WPFormsでは検証メッセージをグローバルにカスタマイズできますが、フォームごとに異なるメッセージを表示したい場合があります。

このチュートリアルでは、PHPコードスニペットを使用して特定のフォームのユニークな検証メッセージを変更する方法を説明します。

コードスニペットの追加

特定のフォームのユニークな検証メッセージをカスタマイズするには、次のPHPコードスニペットをサイトに追加する必要があります。サイトにコードスニペットを追加する方法がわからない場合は、このチュートリアルをご覧ください

add_action( 'wpforms_wp_footer_end', 'wpf_custom_unique_validation_message' );
function wpf_custom_unique_validation_message() {
    ?>
    <script type="text/javascript">
    document.addEventListener('DOMContentLoaded', function() {
        // Target the specific form by ID
        var form = document.querySelector('#wpforms-100');
        if (form) {
            function replaceErrorMessage() {
                var errorMessages = form.querySelectorAll('.wpforms-error');
                errorMessages.forEach(function(messageElement) {
                    if (messageElement.textContent.includes('The value must be unique.')) {

                    messageElement.textContent = 'This value is already in use. Please enter a unique value.';
                    }
                });
            }
            replaceErrorMessage();
            new MutationObserver(replaceErrorMessage).observe(form, {
                childList: true,
                subtree: true
            });
        }
    });
    </script>
    <?php
}

コードのカスタマイズ

このコードを特定のフォームで機能させるには、いくつかの調整が必要です。

  1. #wpforms-100 を特定のフォームのIDに置き換えてください。ID番号の検索に役立つ情報については、このチュートリアルをご覧ください
  2. この行のカスタムエラーメッセージを変更します: messageElement.textContent = 'This value is already in use. Please enter a unique value.'; テキストを希望のカスタムメッセージに置き換えてください。

これで完了です!特定のフォームのユニークな検証メッセージをカスタマイズできました。

次に、フォーム検証のカスタマイズについてさらに詳しく知りたいですか? WPForms検証メッセージのカスタマイズ方法に関するチュートリアルをご覧ください。