メールフォームプラグインV2.0・その15(未入力エラーの判別)

メールフォームプラグインV2.0では、各フィールドの未入力を判別することができます。
その方法を解説します。

1.標準の判別方法

未入力フィールドに関して何も指定しない場合は、名前/メールアドレス/本文のいずれかのフィールドが未入力のときに、送信エラーのページが表示されます。

「MTErrorMessage」というタグで、エラーメッセージを表示することができます。
例えば、本文が未入力のままで送信ボタンがクリックされた場合、MTErrorMessageタグの出力は、「本文を入力してください。」になります。

また、この後で述べる「MTMailPreviewIfFieldError」のタグを使って、フィールドごとに個別にエラーを判別してメッセージを表示することもできます。

2.入力必須フィールドの指定

入力必須のフィールドを変えることもできます。
例えば、メールアドレスが未入力でもエラーにならないようにしたり、自分で追加したフィールドを入力必須にしたりすることができます。

入力必須のフィールドを指定するには、まずメールフォームの設定のページを開きます。
そして、「フォームのチェック項目」の部分の「未入力エラーをチェックするフィールド」の欄に、エラーチェックの対象としたいフィールドの名前を、コンマで区切って入力します。

例えば、mail_email/mail_author/mail_subject/mail_textの4つのフィールドをエラーチェックの対象にしたいとします。
この場合、以下の画面のように「mail_email,mail_author,mail_subject,mail_text」と入力します。

↓未入力エラーをチェックするフィールドを設定する
未入力エラーをチェックするフィールドを設定する

なお、入力必須のフィールドを指定すると、標準の判別は行われなくなります。
名前/メールアドレス/本文を入力必須にしたい場合は、上の例にもあるように、それらのフィールド名も入力する必要があります。

3.フィールドごとに未入力をチェックする

入力必須フィールドに入力がない場合、送信エラーページが表示されます。
その際に、エラーのフィールドごとに何らかのメッセージを表示したり、書式を変えたりすることもできます。

入力必須フィールドが未入力になっているかどうかは、「MTMailPreviewIfFieldError」という条件タグで判断します。
このタグの書き方は以下のようになります。

<MTMailPreviewIfFieldError name="未入力を調べるフィールドの名前">
フィールドが未入力の時に出力する内容
</MTMailPreviewIfFieldError>

例えば、本文(mail_text)を入力必須にするように指定していて、かつ本文が未入力されていないときに、「本文の入力は必須です。」というエラーメッセージを表示したいとします。
その場合、以下のようにタグを組みます。

<MTMailPreviewIfFieldError name="mail_text">本文の入力は必須です。</MTMailPreviewIfFieldError>