Mar*_*dek 7 java spring hibernate-validator
嗨在我的春季webapp我有一个密码变量,我想要至少0个字符或超过6个小于20.我知道有一个注释:
@Size(min=6, max=20)
Run Code Online (Sandbox Code Playgroud)
但我不知道如何增加密码可以是0个字符的可能性.有人会帮我这个吗?
给定注释,您可以使用StringTrimmerEditor将空字符串转换为null,然后@Size检查将不会触发(在@Size中null被视为有效).
在您的控制器中添加以下方法:
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(String.class, new StringTrimmerEditor(true));
}
Run Code Online (Sandbox Code Playgroud)
请注意,StringTrimmerEditor还会修剪空格中的输入,如果您只希望一个属性受此编辑器使用的影响registerCustomEditor(Class<?> requiredType, String propertyPath, PropertyEditor propertyEditor).
如果您想要一个空("")或长度在6到20个字符之间的String,您可以使用@Pattern约束指定正则表达式:
@Pattern(regexp="(^$|.{6,20})")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6511 次 |
| 最近记录: |