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

データベース文字コード対策他

Contents1 JDBC文字化け対策2 BigDecimal2.1 ソース2.2 参考リンク3 CreateQuery4 jsfのconvertNumber JDBC文字化け対策 データベースがu …

no image

Listの簡便な書き方

このエントリーともかぶりますが、リストにクラスを代入するときの簡便な書き方の紹介です。 名前と年齢のプロパティをもつ簡単なクラス(Hoge)をListに格納しようとします。 普通に書くと [crayo …

no image

動的な置換

前回、置換に関する記事をまとめましたが動的な置換について勉強する機会があったのでまとめておきます。一般に置換表現というのはほとんどが静的なものかと思います。 例えば <intpu type=&# …

no image

JSPでのカスタムタグ

前回のインク―ドですが、文字列以上の情報を渡すことはできませんでした。 いろいろ調べたり、上司に聞いてみるとカスタムタグという独自のタグを作る機能があるとのことでさっそく調査。 Contents1 カ …

no image

依存関係エラー

JavaEEで新PCでビルドしたらいきなりエラー。同一のソースを別PCで動かすと正常に立ち上がります。 こんな場合、GlassFishの設定がおかしいか、ライブラリの依存関係に問題があることがほとんど …

アーカイブ