[Teeda]Validatorじゃないロジックで失敗したときのエラーメッセージの出し方
メモ程度にサンプルを書いておく。
HTML側
<span id="allMessages" />
Pageクラス側
FacesMessageUtil.addErrorMessage("E0000001"); Object[] args = {"XXX", "YYY"}; FacesMessageUtil.addErrorMessage("hogehoge", args);
プロパティファイル(appMessages_ja.properties)側
E0000001=検索結果がありません。 hogehoge={0}は{1}である!
※ appMessages_ja.properties は Doltengが自動生成してくれています。
ブラウザの出力
* 検索結果がありません。 * XXXはYYYである!
[Teeda] デフォルトのValidatorのメッセージの変え方
Teeda Coreのteeda-core-1.0.x.jar を解凍すると javax\faces ディレクトリに Messages_ja.properties ファイルがあるので、この内容を appMessages_ja.properties にコピーします。そして、必要に応じて、コピーした内容を編集すればOKです。
例えば、LengthValidator を使うと現行では、
『値(id=タイトル)が長すぎます。128桁以下で入力してください。』
というエラーメッセージがでます。"id=" という部分を無くしたかったので、次のように編集しました。
【編集前】
javax.faces.validator.LengthValidator.MAXIMUM_detail = 値(id={1})が長すぎます。{0}桁以下で入力してください。
【編集後】
javax.faces.validator.LengthValidator.MAXIMUM_detail = 値({1})が長すぎます。{0}桁以下で入力してください。