2016-08-06 2 views
2

Мне нужно установить валидацию на вводе поля String. Это поле должно быть пустым или от 5 до 10. Но если я изложу проверку так:Как установить валидацию по размеру строки = 0 или min = 5, max = 10?

@Size(min=5, max=10) 
private String couponCode; 

Это не будет проходить @Valid, когда значение пусто. Как я могу это достичь?

ответ

1

Вы можете установить шаблон принимать пустые значения или 5 до 10 символов:

@Pattern(regexp = "|.{5,10}") 
private String couponCode; 

Здесь мы использовали Чередование, в |, чтобы сообщить валидатора рассмотреть переданное значение в силе, если либо пусто строка или .{5,10}.

Если вы считаете, пустые значения как пустые строки, используйте следующий шаблон:

@Pattern(regexp = "\\s*|.{5,10}") 
private String couponCode;