2012-04-08 12 views
1

私は、バナー3.0.2を使用して、Twitterベースの単純なアプリケーションを開発しています。私のサーバー側のバリデーションはJSRバリデーションAPIでうまくいっていますが、バリデーションの失敗時にJSRバリデーションAPIでメッセージを国際化する方法が見つかりません。JSR検証でのローカライズサポート検証に失敗した場合のメッセージのAPI

私のモデルクラスで次の注釈を使用していますSpitter.javaは、アプリケーション内のユーザーを表しています。

パブリッククラスSpitterはSerializable {

private Long id; 


@Size(min=8, max=15, message="some msg..") 
@Pattern(regexp="^[a-zA-Z0-9]+$", message="some msg..") 
private String username; 

@Size(min=8, max=15, message="some msg..") 
private String password; 

@Size(min=3, max=15, message="some msg..") 
private String name; 

@Pattern(regexp="^$",message="some msg..") 
private String email; 

@NotNull(message="some msg..") 
@NumberFormat(style= NumberFormat.Style.NUMBER) 
@Min(value=14, message="some msg..") 
@Max(value=99, message="some msg..") 
private Integer age; 

//getter setter not shown 

} 
私は失敗した検証時にローカライズサポートのためにJSR検証APIをチェックしますが、同じことを見つけることができている

を実装しています。

私は国際化を達成する方法はありますか?

事前に感謝しますが...

答えて

5

あなたはapprorpriatelyカスタマイズされたメッセージであなたのクラスパスにValidationMessages.propertiesファイルを置くことができます。あなたはどちらか、メッセージの現在のセットを上書きするなどのために言う:

javax.validation.constraints.NotNull.message=may not be null 

または独自のカスタムメッセージを使用する場合:

@NotNull(message="{custom.message}") 

ValidationMessagesに存在しなければならないのエントリ。プロパティファイル。

この情報はセクション4.3.1.1にあります。 JSR 303仕様の一覧

関連する問題