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

mavenでJavadoc出力

Netbeansでプロジェクトから右クリックでjavadocの生成はできますが、実はmavenでビルドするときにJavadocを生成できます。 ただ出力するだけではなくてパラーメータをいろいろとセット …

no image

JSFのifタグ

JSFは基本的にテンプレートなので、 HTML+CSS+JavaScript ロジック側からの変数の出力 ループ処理 以上のことをさせることはあまりありません。 が、まれに条件分岐なんかをさせたいとき …

no image

dbUnitの使い方

えーJavaで有名なテストツールDBUnitについて。 DbUtilではありませんので間違えないように。(私は最初間違えました・・・) まだ全然使い込んでるわけではありませんがどんなことができるかとい …

no image

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

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

no image

GlassFishでDB接続

一般的にWEB系の言語で、DBを使う場合、WEBサーバーとDBサーバーは単独に動くことが一般的です。 JavaEEではアプリケーションサーバーとしてGlassFishを使いますが、先日、GlassFi …