您好,在我的 spring webapp 中,我有一个密码变量,我希望它至少为 0 个字符或多于 6 个且少于 20 个。我知道有注释:
@Size(min=6, max=20)
但我不知道如何增加密码可以是 0 个字符的可能性。有人可以帮我解决这个问题吗?
最佳答案
鉴于评论,您可以使用 StringTrimmerEditor
将空字符串转换为 null,然后 @Size
检查不会触发(null 在@Size 中被认为是有效的)。
在您的 Controller 中添加以下方法:
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(String.class, new StringTrimmerEditor(true));
}
请注意 StringTrimmerEditor
还修剪来自空格的输入,如果您只想让一个属性受此编辑器影响,请使用 registerCustomEditor(Class<?> requiredType, String propertyPath, PropertyEditor propertyEditor)
.
关于java - @Size(min, max) 但不是必需的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11550324/