JSR验证API中的本地化支持,用于验证失败时的消息

roh*_*hit 1 spring-mvc jsr bean-validation

我使用spring 3.0.2来开发一个像twitter这样简单的基于Web的应用程序.我的服务器端验证在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

}
Run Code Online (Sandbox Code Playgroud)

我已经检查了JSR Validation API,以便在验证失败时获得本地化支持,但无法找到相同的内容.

有什么方法可以实现国际化.

提前致谢...

Bij*_*men 5

您可以使用适当的自定义消息将ValidationMessages.properties文件放在类路径中.你要么覆盖当前的消息集,比如说:

javax.validation.constraints.NotNull.message=may not be null
Run Code Online (Sandbox Code Playgroud)

或者如果您想使用自己的自定义消息:

   @NotNull(message="{custom.message}")
Run Code Online (Sandbox Code Playgroud)

ValidationMessages.properties文件中应包含的条目.

该信息见4.3.1.1节.JSR 303规格