Aub*_*ine 0 java validation spring
我以两种方式验证 - 使用spring验证器进行自定义验证,使用javax.validation进行快速和通用验证
Spring做得很干净,这段代码将完全用于给定语言环境的文档并提取所需的文本.
private Errors checkPasswordMatch(Person p, Errors errors) {
if (!p.getPassword().equals(p.getRepeatedPassword())) {
errors.rejectValue("password", "person.password.mismatch");
errors.rejectValue("repeatedPassword", "person.password.mismatch");
}
return errors;
}
Run Code Online (Sandbox Code Playgroud)
Javax不那么麻烦,但是没有办法用不同的语言产生消息.
@NotNull
@Size(min = 10, max = 10, message = "size must be 10 characters")
protected String birthDate;
Run Code Online (Sandbox Code Playgroud)
如何建议javax转到某些GB.properties或US.properties或IT.properties文件以提取消息的方式与spring相同,具体取决于用户区域设置?
@Size(min = 10, max = 10, message = "{birthDate.size}")
protected String birthDate;
Run Code Online (Sandbox Code Playgroud)
in(如果没有,则在classpath中创建一个)ValidationMessages.properties定义为birthDate.size = some message
编辑1:
保持文件分开.与您的应用程序特定消息不同,ValidationMessages需要随着您的bean一起发送/打包.您不需要为ValidationMessages.properties文件定义bean.它会自动被拾取
| 归档时间: |
|
| 查看次数: |
1883 次 |
| 最近记录: |