SHU BLOG

BLOG NEWS ブログ

TITLE

【WordPress】MW WP Form バリデーションのカスタマイズについて

SHU[シュウ]

1991年生まれ九州の宮崎県育ち
高校卒業後、愛知県で自動車関係の
お仕事に5年間勤め、WEB業界に
転職致しました。
趣味:サッカー観戦、ゲーム、映画、漫画
基本インドアです!

サーバーとドメインの同時取得で.jpが無料

シュウ
シュウ
今回は【WordPress】MW WP Form バリデーションのカスタマイズについて
の解説になります!

こんな方に読んでほしい

  • WordPressを学び始めた方へ
  • お問い合わせ関連のプラグインを探してる方へ
  • 今回はWordPressの「MW WP Formエラーメッセージ」について解説しております。

MW WP Formとは

MW WP Formとは

MW WP Form」 とは、WordPressのお問い合わせプラグインになります。
このプラグインを紹介するポイントと問題点があります。

ポイント
  • 日本語対応しており、管理画面も見やすいです。
  • 確認画面、エラー画面、完了画面の作成が可能です。
  • バリデーションルールの設定も可能です。
  • お問い合わせのデータの保存可能、CSV出力が可能です。
問題点
  • CSS(レイアウト)はご自身で記述しなければなりません。
  • ショートコードをコピー&ペーストしてフォームを実装します。
  • 設定項目が多いです。

「MW WP Form」は、とても使いやすい反面、少し知識が必要になってきます。
ですが、このプラグイン一つで全てのことが設定できるので、しっかり覚えておきましょう。
こちらの方で詳しい設定については解説しております。

MW WP Formの設定について解説

プラグイン一つで全てのことが設定できるので、覚えておきましょう。

バリデーションについて

バリデーションについて

まずは、前回の記事をご確認ください。
今回は、チェックボックスなどの場合のバリデーションの文面はどのように変更するのか?
を解説していきます。

MW WP Formの設定について解説

バリデーションルールとは、項目の必須を設定することになります。

エラー文のカスタマイズについて

エラー文のカスタマイズについて

以前のコードは以下のようになります。
$validation->set_rule()バリデーションルールを設定するメソッドです。
第1引数: バリデーションを適用する項目の名前(フィールドID)します。
第2引数: バリデーションの種類(ここでは「noempty」で必須入力)します。
第3引数: オプションの配列。
messageエラーメッセージを指定します。
mwform_validation_mw-wp-form-xxの「xx」には、数字の入力を忘れずに。
複製する場合は、2行目を複製してください。

function my_error_message($validation, $data, $Data) {
   $validation->set_rule('お名前', 'noempty', array('message' => '氏名を入力してください。'));
   $validation->set_rule('会社名', 'noempty', array('message' => '会社名を入力してください。'));
   $validation->set_rule('業種', 'noempty', array('message' => '業種にチェックをしてください。'));
   return $validation;
}
add_filter('mwform_validation_mw-wp-form-xx', 'my_error_message', 10, 3);

上記のコードは、テキストタイプには有効ですが「業種」チェックボックスなどには適用されず悩んでおりました。

× 適用されない
$validation->set_rule('業種', 'noempty', array('message' => '業種にチェックをしてください。'));

適用されない原因

適用されない原因は、第2引数:にあります。
チェックボックスの場合にコードが適用されない原因は、バリデーションルールがnoemptyに設定されているためです。
「noempty」から「required」に変更してください。

◯ 適用される
$validation->set_rule('業種', 'required', array('message' => '業種にチェックをしてください。'));

noemptyとrequiredの違い

noempty
フォームのフィールドが空でないことを確認します。チェックボックスの場合、チェックが入っていないと値が送信されないため、noemptyではチェックされていない状態を「空」と判断します。

required
フォームのフィールドが送信されたかどうかを確認します。チェックボックスの場合、チェックが入っていなくてもフィールド自体は送信されるため、requiredチェックの有無に関わらずフィールドが送信されたことを確認します。
正しいコードは以下になります。

function my_error_message($validation, $data, $Data) {
   $validation->set_rule('お名前', 'noempty', array('message' => '氏名を入力してください。'));
   $validation->set_rule('会社名', 'noempty', array('message' => '会社名を入力してください。'));
   $validation->set_rule('業種', 'required', array('message' => '業種にチェックをしてください。'));
   return $validation;
}
add_filter('mwform_validation_mw-wp-form-xx', 'my_error_message', 10, 3);

requiredを使用すると、チェックボックスがチェックされているかどうかに関わらず、フィールドが送信されたかどうかを判定します。チェックボックスがチェックされていない場合、フィールド自体が送信されないため、エラーとなります。

第2引数について

チェックボック以外にも第2引数を覚えておくと便利です。
以下になります。

1:必須入力チェック
required必須項目であることを指定します。
noempty空でないことを指定します。
2:文字種チェック
numeric半角数字であることを指定します。
alpha半角英字であることを指定します。
alphaNumeric半角英数字であることを指定します。
katakana全角カタカナであることを指定します。
hiragana全角ひらがなであることを指定します。
kana全角ひらがなまたは全角カタカナであることを指定します。
3:形式チェック
zip郵便番号の形式であることを指定します。
tel電話番号の形式であることを指定します。
mailメールアドレスの形式であることを指定します。
date日付の形式であることを指定します。
month年月の形式であることを指定します。
4:ファイル関連
fileSizeファイルサイズの制限を指定します。

まとめ

今回は、チェックボックスのみでしたが、お仕事で他の第2引数を使用することがありましたら、
解説していきます。

POINT
  • WordPressMW WP Formについて解説しました。
  • MW WP Formの公式サイトはコチラから。
  • バリデーションルールを設定していない場合は、そのまま確認画面に移行してしまうので注意してください。
  • チェックボックスの場合は「noempty」から「required」に変更してください。
  • チェックボック以外にも第2引数を覚えておくと便利です。
  • プラグインのインストールから設定の方法までの流れはコチラから。
スポンサーリンク

SHU

1991年生まれ九州の宮崎県育ち高校卒業後、愛知県で自動車関係のお仕事に5年間勤め、WEB業界に転職致しました。
趣味:サッカー観戦、ゲーム、映画、漫画基本インドアです!笑
つくる、しあわせをテーマとして主にWEBに関する様々な情報を発信しています。

最新記事

関連記事

オススメ記事

月別アーカイブ

page_top