1

このページを読んだ後、検証メッセージを国際化する方法を見つけました。これは、各エラータイプの翻訳をValidationMessages.propertiesファイルに配置することによって行われます。

javax.validation.constraints.Size.message=The property must be between {min} and {max}
javax.validation.constraints.NotNull.message=The property must not be null

これはエラータイプ固有であり、アプリに必要なものではありません。検証済みBeanのフィールドごとに固有のメッセージが必要です。国際化がなくても、注釈を使用して実行できます。

@Pattern(regexp = UiLogicUtils.EMAIL_REGEX, message = "Email is invalid.")
private String requesterEmail;

では、この特定のフィールドだけに「Eメールが無効です」というテキストを翻訳するにはどうすればよいですか?

4

1 に答える 1

3

@Patternを使用したことがないため、これが答えかどうかはわかりませんが、ドキュメントでは、@ Patternのメッセージフィールドはテキストではなく、メッセージファイルへのキーであると記載されています。ここを見て:

http://docs.oracle.com/javaee/6/api/javax/validation/constraints/Pattern.html#message()

デフォルトではmessage="{javax.validation.constraints.Pattern.message}"であり、ValidationMessages.propertiesファイルの有効なキーのように見えます。カスタムキーを指定して使用するだけでよいと思います。

于 2012-12-24T12:34:56.917 に答える