1

Twitterのような単純なWebベースのアプリケーションを開発するためにSpring3.0.2を使用しています。サーバー側の検証は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

}

検証に失敗した場合のローカリゼーションサポートについてJSRValidationAPIを確認しましたが、同じものを見つけることができません。

国際化を実現する方法はありますか?

前もって感謝します...

4

1 に答える 1

5

適切にカスタマイズされたメッセージを使用して、ValidationMessages.propertiesファイルをクラスパスに配置できます。たとえば、現在のメッセージのセットを上書きします。

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

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

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

ValidationMessages.propertiesファイルに存在する必要があるエントリ。

この情報はセクション4.3.1.1にあります。JSR303仕様の

于 2012-04-08T15:41:24.483 に答える