Getting started with JSR 303 (Bean Validation) – part 3
Default message interpolation
デフォルトメッセージ補完の説明をします。
バリデーションアノテーションはmessageプロパティが必須です。
そのmessageプロパティにセットされたトークンが補完対象のメッセージとなります。
補完対象のトークンは"{}"で囲まれている必要があります。そうでない場合はリテラルとみなされます。
また"{"のエスケープは"\\{"と記述し、同様にまた"}"のエスケープは"\\}"と記述します。
メッセージ補完のためのパラメータは「ValidationMessages.properties」に記述されたキーかアノテーションのプロパティが対象となります。
例えば以下のようなアノテーションとプロパティーメッセージを定義されていた場合
検証結果が不正だったときに「Value size must be between 0 and 10」のメッセージが取得できます。
●Sizeアノテーション
public @interface Size { String message() default "{validator.size}"; Class<?>[] groups() default {}; int min() default 0; int max() default 10; }
●ValidationMessages.propertiesの中身のキーとメッセージ
validator.size=Value size must be between {min} and {max}
これは最初に {validator.size} → Value size must be between {min} and {max}と補完されその後に Value size must be between {min} and {max} → Value size must be between 0 and 10と補完されました。
通常は"{}"で囲まれているものがなくなるか、対象のパラメータが見つからなくなるまで補完されます。