お知らせ
2008年3月28日
「これだけは知っておきたい Webアプリケーションの常識」が発売されました。
Webアプリケーションを作る上では、HTTPのプロトコルや、開発言語、データベースなど、さまざまな知識を組み合わせることが必要になります。
それらを全般的にまとめた一冊です。
Webアプリケーション開発にチャレンジしたい方や、実際に開発までしないまでも基礎知識として知っておきたい方にお勧めです。
他にも多数書籍を執筆しています。
こちらもぜひご覧ください。
メールフォームプラグインV2.0・その15(未入力エラーの判別)
メールフォームプラグインV2.0では、各フィールドの未入力を判別することができます。
その方法を解説します。
1.標準の判別方法
未入力フィールドに関して何も指定しない場合は、名前/メールアドレス/本文のいずれかのフィールドが未入力のときに、送信エラーのページが表示されます。
「MTErrorMessage」というタグで、エラーメッセージを表示することができます。
例えば、本文が未入力のままで送信ボタンがクリックされた場合、MTErrorMessageタグの出力は、「本文を入力してください。」になります。
また、この後で述べる「MTMailPreviewIfFieldError」のタグを使って、フィールドごとに個別にエラーを判別してメッセージを表示することもできます。
2.入力必須フィールドの指定
入力必須のフィールドを変えることもできます。
例えば、メールアドレスが未入力でもエラーにならないようにしたり、自分で追加したフィールドを入力必須にしたりすることができます。
入力必須のフィールドを指定するには、まずメールフォームの設定のページを開きます。
そして、「フォームのチェック項目」の部分の「未入力エラーをチェックするフィールド」の欄に、エラーチェックの対象としたいフィールドの名前を、コンマで区切って入力します。
例えば、以下の画面のように入力すると、mail_email/mail_author/mail_subject/mail_textの4つのフィールドがエラーチェックの対象になります。
なお、入力必須のフィールドを指定すると、標準の判別は行われなくなります。
名前/メールアドレス/本文を入力必須にしたい場合は、上の例にもあるように、それらのフィールド名も入力する必要があります。
3.フィールドごとに未入力をチェックする
入力必須フィールドに入力がない場合、送信エラーページが表示されます。
その際に、エラーのフィールドごとに何らかのメッセージを表示したり、書式を変えたりすることもできます。
入力必須フィールドが未入力になっているかどうかは、「MTMailPreviewIfFieldError」という条件タグで判断します。
このタグの書き方は以下のようになります。
<MTMailPreviewIfFieldError name="未入力を調べるフィールドの名前"> フィールドが未入力の時に出力する内容 </MTMailPreviewIfFieldError>
例えば、本文(mail_text)を入力必須にするように指定していて、かつ本文が未入力されていないときに、「本文の入力は必須です。」というエラーメッセージを表示したいとします。
その場合、以下のようにタグを組みます。
<MTMailPreviewIfFieldError name="mail_text">本文の入力は必須です。</MTMailPreviewIfFieldError>
前後の記事
関連するエントリー(17件)
- メールフォームプラグインV2.0・その19(テンプレートセットの配布)(2008年03月16日 13:35)
- メールフォームプラグインV2.0・その18(メールフォームのAjax化)(2008年03月09日 15:32)
- メールフォームプラグインV2.0・その16(チェック必須チェックボックスの作成)(2008年03月04日 10:08)
- メールフォームプラグインV2.0・その14(メールアドレスの入力確認)(2008年02月24日 10:53)
- メールフォームプラグインV2.0・その13(エラー判別の概要)(2008年02月21日 16:58)
- メールフォームプラグインV2.0・その12(ラジオボタン/セレクトの追加)(2008年02月19日 13:49)
- メールフォームプラグインV2.0・その11(チェックボックスの追加)(2008年02月16日 08:40)
- メールフォームプラグインV2.0・その10(テキストボックスの追加)(2008年02月13日 10:59)
- メールフォームプラグインV2.0・その9(メール本文/返信メールテンプレートの作成)(2008年02月12日 16:43)
- メールフォームプラグインV2.0・その8(送信確認/送信エラー/送信完了テンプレートの作成)(2008年02月11日 14:25)
- メールフォームプラグインV2.0・その7(「メールフォーム」テンプレートの作成)(2008年02月09日 16:04)
- メールフォームプラグインV2.0・その6(「メールフォーム共通部分」テンプレートの作成)(2008年02月07日 10:50)
- メールフォームプラグインV2.0・その5(メール送信エラーへの対策)(2008年02月05日 11:36)
- メールフォームプラグインV2.0・その4(自動返信メールの設定)(2008年02月04日 14:50)
- メールフォームプラグインV2.0・その3(メールフォームの基本設定)(2008年02月02日 10:30)
- メールフォームプラグインV2.0・その2(サンプルテンプレートセットのインストール)(2008年02月01日 16:04)
- メールフォームプラグインV2.0・その1(概要とインストール)(2008年01月31日 14:38)
トラックバック(0件)
このブログ記事を参照しているブログ一覧: メールフォームプラグインV2.0・その15(未入力エラーの判別)
このブログ記事に対するトラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/1223.


コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。
いつも役立つ情報をありがとうございます。
業務で使おうと思い、まずは自身の個人ブログで試験運用しようと悪戦苦闘しています(苦笑)。
さて、導入にあたって躓いた点が1カ所あります。
本エントリーで記述されている「フィールドごとに未入力をチェック」が出来ないのですが、
「
<MTMailPreviewIfFieldError name="mail_text">本文の入力は必須です。</MTMailPreviewIfFieldError>
」
のようなコードは、どのテンプレートモジュールのどの場所に記述すれば良いのでしょうか?
また、「mail_error:送信エラー」テンプレートモジュールの記述では、
上記で指定したとしても「<$MTErrorMessage$>」は入れなければならない、という解釈で宜しかったでしょうか?
ご教授下さい。
>にのみやさん
こんにちは。プラグインご利用ありがとうございます。
MTMailPreviewIfFieldErrorタグの記述先ですが、各フィールドのすぐそばにエラーメッセージを表示するなら、「メールフォーム共通部分」テンプレートで、各フィールドのあたりに記述します。
また、フィールドごとにエラーメッセージを表示するなら、MTErrorMessageタグは必要ありません。
なお、サンプルテンプレートの「Movable Type標準テンプレート用(各種機能使用)」に、MTMailPreviewIfFieldErrorタグを使った例がありますので、そちらも参照してください。
ありがとうございました。動きました。
挙動そのものが理解出来ていなかったようです。
MT標準TP用(全部入)の「mail_common.mtml」を読み、
把握することが出来ました。
AJAX版の使い勝手の良さが、本当に有り難いです。
これは希望なのですが、
企業ブログなどではよく利用されるのですが、
複数のメールアドレスで受信する場合や、
複数の送信先を発信者側が選択できるような機能が付けられたら、
非常に有り難かったりします。
意外とこういうメールフォームが少ないのですが、
需要は多いような気がします。
(...自分で開発しろって言われそうですが)
個人ブログで、夫婦や友人達で1つのブログを共有してる時も、
こういう機能は役に立つと思うのですが、如何でしょうか?
今後のご活躍も期待しています。
(「これだけは知っておきたい Webアプリケーションの常識」予約しました。今から読むのが楽しみです)