Ответ 1
Использовать группы проверки JSR-303.
Если ни одна из групп не указана, ограничение является частью группы Bean Validation по умолчанию (см. javax.validation.groups.Default
).
Создайте интерфейс, который будет вашим "расширенным" (или тем, что вы хотите назвать):
public interface Extended{}
Теперь создайте интерфейс, который будет содержать аннотацию javax.validation.GroupSequence
.
@GroupSequence({Default.class, Extended.class})
public interface MySequence {}
Установите группы проверки на свои ограничения
@NotEmpty // If no group is specified it is part of the default group
@Length(min=3,max=100, groups = Extended.class)
String firstName;
Передайте MySequence на ваш валидатор.
validator.validate(object, MySequence.class);
Как указано вашим @GroupSequence
, сначала будут проверены ограничения по умолчанию, и если не будут обнаружены нарушения, они перейдут к расширенной группе.