Как установить проверку на размер строки = 0 или min=5, max=10?
Мне нужна проверка набора на входе строкового поля. Это поле должно быть пустым или между символами 5
и 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;