Hi In my spring webapp I have a password variable which I want to be at least 0 characters or more than 6 and less than 20. I know that there is annotation:
@Size(min=6, max=20)
but I have no idea how to add possibility that password can be 0 characters. Will somebody help me with this?
Given the comment, you can use StringTrimmerEditor
to convert empty string to null, and then @Size
check will not trigger (null is considered as valid in @Size).
In your controller add following method:
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(String.class, new StringTrimmerEditor(true));
}
Note that StringTrimmerEditor
also trims input from spaces, and if you only want one property to be affected by this editor use registerCustomEditor(Class<?> requiredType, String propertyPath, PropertyEditor propertyEditor)
.