Как установить проверку на размер строки = 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;