Bean Validatorによるバリデーション (6/6)
作成:2017-10-28 10:30
更新:2017-10-28 10:30
更新:2017-10-28 10:30
■エラーメッセージの設定
最後に、getMessageで表示されるエラーメッセージについて説明しておきましょう。デフォルトでは、エラーメッセージはすべて英語でした。これを日本語にしたい!と思った人も多いでしょう。
バリデーションのエラーメッセージは、記述したアノテーションに「message」という値を用意することでカスタマイズできます。下にメッセージを追加した例を挙げておきます。ここでは、例えばこんな具合にアノテーションを記述していますね。
このように、()内にmessageを用意することでエラー時のメッセージを設定できるのです。また、アノテーションの中には引数に値を持つものもありますが、こうしたものは変数としてメッセージ内に埋め込むこともできます。
こんな具合に、{}を使って引数の値をテキストに埋め込みメッセージを用意することができます。@Minや@Maxなどは()内に数値を1つ指定するだけでしたが、こういう名前の付いてない引数は、{value}でmessage内に組み込むことができます。
――とりあえず、これで「バリデーションを設定し、値をチェックし、問題があれば日本語でメッセージを表示する」といったバリデーションの基本操作はできるようになりました!
バリデーションのエラーメッセージは、記述したアノテーションに「message」という値を用意することでカスタマイズできます。下にメッセージを追加した例を挙げておきます。ここでは、例えばこんな具合にアノテーションを記述していますね。
@NotEmpty(message="名前は必ず入力して下さい。")
このように、()内にmessageを用意することでエラー時のメッセージを設定できるのです。また、アノテーションの中には引数に値を持つものもありますが、こうしたものは変数としてメッセージ内に埋め込むこともできます。
@Min(value=100, message="{value}以上の値が必要です。")
@Max(value=100, message="{value}以下の値が必要です。")
@Length(min=5 , max=20, message="{min}以上{max}以下の文字数で記入下さい。")
こんな具合に、{}を使って引数の値をテキストに埋め込みメッセージを用意することができます。@Minや@Maxなどは()内に数値を1つ指定するだけでしたが、こういう名前の付いてない引数は、{value}でmessage内に組み込むことができます。
――とりあえず、これで「バリデーションを設定し、値をチェックし、問題があれば日本語でメッセージを表示する」といったバリデーションの基本操作はできるようになりました!
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
@Entity public class MyDataEntity { @Id @GeneratedValue private Integer id; @NotEmpty(message="名前は必ず入力して下さい。") private String name; @NotEmpty(message="メールアドレスは必ず入力して下さい。") @Email(message="メールアドレスを入力して下さい。") private String mail; private String tel; private Date created = Calendar.getInstance().getTime(); ……略……
※関連コンテンツ
「初心者のためのJava Persistence API入門」に戻る