1

我正在使用 spring 3.0.2 来开发一个简单的基于 web 的应用程序,比如 twitter。我的服务器端验证与 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 以获取本地化支持,但找不到相同的。

有什么办法可以实现国际化。

提前致谢...

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 节中提供。JSR 303 规范

于 2012-04-08T15:41:24.483 回答