5章 テンプレート - 5. テンプレートの展開
wr-error は エラーチェックを行なう場合に使用します。指定した条件が成立している場合に、強制的にコンテンツ生成エラーを発生させることができます。
wr-error タグの記述形式は下記のとおりです。
<wr-error condition="<cond>">
エラーメッセージ
</wr-error>
<wr-error>
エラーメッセージ
</wr-error>
wr-error には condition="<cond>" の部分にエラー条件を指定することができます。<cond> に指定した条件が成立するとコンテンツ生成エラーが発生します。
この時 wr-error のボディー部分がエラーメッセージとなります。エラーメッセージ部分は、普通の展開と同じように記述できます。エラーの原因や、チェック対象となった入力項目の値などをわかりやすく記述してください。
発生したコンテンツ生成エラーは、preview 時には preview 画面に表示されます。FTP (コンテンツ生成)時には FTP 記録に記録されます。FTP 記録に記録される場合を考えると、エラーメッセージは簡潔であることも必要です。エラーメッセージ部分は自由に記述できますが preivew 画面や FTP 記録に記録される場合には、タグ類は < や > などにエスケープされる点に注意してください。
wr-error に <cond> を指定しない場合には、無条件にコンテンツ生成エラーが発生します。この形式は wr-if と組み合わせて使用してください。
展開中に複数の wr-error が記述されている場合、その内のいずれかでコンテンツ生成エラーが発生するとコンテンツ生成処理はそこで中断されます。それ以後の展開の処理は行なわれないため、エラーの原因となる部分が複数存在していても、発生するコンテンツ生成エラーは最初のひとつだけとなります。
テンプレートのタイプが「ページデータテンプレート」になっている場合、そのテンプレートの展開は preivew の時には使われますが FTP (コンテンツ生成)時には使われません。「ページデータテンプレート」の展開に wr-error を使ったエラーチェックを記述した場合、そのチェックは FTP 実行時にはチェックされない点に注意してください。
テンプレートには「メールアドレス」という1行テキストの要素が定義されているとします。そのテンプレートの展開の中で「メールアドレス」欄に値が入力されているかどうかをチェックし、値が未記入であればエラーを生成してみます。
........
<wr-error condition="isNull(メールアドレス)">
メールアドレスが未入力です。
</wr-error>
........
isNull(メールアドレス) が成立する場合には「メールアドレスが未入力です」というエラーメッセージでコンテンツ生成エラーが発生します。