skillup

技術ブログ

Java

BeanValidationの動的メッセージ出力について

投稿日:

JSF+ManagedBeanでは基本的にbeanValidationを使ってバリデーションを行い、エラーメッセージなどはプロパティファイルで管理するのが一般的です。

アノテーションなどを付与してあげるとメッセージを動的に変えることはできます。

例えば

「~は必須項目です。」の「~」に関してはアノテーションを入れる際にプロパティを設定してあげればOKです。

が、プロパティではなく、エラーメッセージを動的に変えることはアノテーションの付与のみではできません。

例えば

あるパラメーターに対して2段階のエラーチェックがあり、1番目でひっかかったときと2番目で引っかかったときのエラーメッセージを変えたいときです。

いろいろ、検索したら下記のようにできました。実装部分のみ書いてます。

下記の部分で動的にエラーメッセージを変えられるようです。

リファレンスと情報は↓こちら

http://www.programcreek.com/java-api-examples/index.php?api=javax.validation.ConstraintValidatorContext

https://docs.oracle.com/javaee/7/api/javax/validation/ConstraintValidatorContext.html

まだ仕組みが全然わかってないので、もっと調査の必要がありますね・・

-Java
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

文字列変換系処理まとめ

Javaで文字列の変換(全角、半角など)の処理のまとめです。 ブログに記事として書こうと思ったのですが、丸々コピペになってしまうので、それじゃあ元リンクを紹介したほうがいいかなと思い、今日は基本的にリ …

no image

Javaでのログ出力 基礎編

Javaでのログ出力についてようわかってなかったので基礎から調べました。 Contents1 目的2 設定3 ソース4 出力5 リンク 目的 プログラムの実行過程を把握するため System.out. …

no image

日付けのメソッド

どのプログラムでも必須となる日付け処理。 言語が違うといろいろと面倒です。 とりあえず頻出のものを整理したいと思います。 Contents1 現在時刻の出力2 日付けの設定・取得3 日付けの整形4 文 …

no image

JSFのメッセージのレンダリング

ManagedBeanとJSFでメッセージのやり取りをする場合、直接メッセージを変数として持たせるよりは、JSFの仕組みを通じてメッセージを出力させたほうが適切です。 Contents1 エラーメッセ …

no image

try~catch~finallyで気を付けること

JavaでExceptionが発生したとき、基本的にはtry~catch~finallyをつかっているのですが、今回Exceptionが吐かれないという事態があったのでメモします。 [crayon-5 …