I am trying to use Hibernate validator to validate POJO before insert into database.
There is a field in the bean which could be either 8 or 10 in length.
I tried to use the built in constraint List to put them together, expecting either one of the criteria passes than the validation would pass.
@Length.List({@Length(min=8, max=8,message="Code is either 8 or 10 characters in length"),@Length(min=10, max=10,message="Code is either 8 or 10 characters in length")})
public String getCode() {
return this.code;
}
However, the result shows that all criteria in the list has to passes to make it valid. So I would like to know is there anyway to make it a OR checking instead.
I think the way this annotation works is like this:
In other words
9will also be accepted as valid, which isn’t what you’re looking for. I’m not sure if there’s a way to do two validations and an OR operation on them in Hibernate annotations.It looks like you can use
@Patternvalidation for this: