JSR 303 - определенный размер или ноль
У меня есть следующее поле с JSR-303
Проверка:
@Size(min = 6, max = 6, message = "Field needs to be 6 characters")
private String field;
Требование к полю должно быть 6 characters or null
,
(Я тогда использую valdr-bean-validation
( https://github.com/netceteragroup/valdr-bean-validation), чтобы извлечь его в формат valdr и использовать в AngularJS.)
Вопрос: Как я могу удовлетворить требования, используя JSR-303, чтобы поле могло быть null or 6 characters
? На данный момент мой @Size
Правило ожидает не менее 6 символов.
Я не хочу использовать пользовательский валидатор из-за совместимости с valdr. Является ли регулярное выражение хорошим вариантом? Спасибо
2 ответа
Да, вы должны использовать аннотацию @Pattern в этом поле (или создать свою собственную аннотацию с размером, рисунком и любой другой комбинацией правил)
Я исправил это используя @Pattern
аннотация с простым RegEx:
@Pattern(regexp = "^.{6,6}$|^$", message = "Field must be 6 digits or empty")
private String field;