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;
Другие вопросы по тегам