Как отключить валидацию @Max только в определенных случаях?
Есть класс Weight, в котором хранится поле с максильным значением которое может быть 100. Используется в сотнях классах.
public class Weight {
@Max(100)
private BigDecimal value;
}
И есть класс Laptop в котором есть поле с типом Weight и хотелось бы исключить эту проверку на максимальное значение.
public class Laptop {
@Valid
private Weight weight ;
}
Можно было бы убрать Valid, но
- Сама валидация вызывается из другого класса где используется laptop как поле
- И в Weight есть другие поля и валидации.
Как можно исключить валидацию Max только для класса Laptop?
Ответы (1 шт):
Автор решения: Z.John
→ Ссылка
Используйте параметр groups аннотации. Это позволяет ставить маркеры применения. Например:
@Min(
value = 18,
message = "You have to be 18 to drive a car",
groups = DriverChecks.class
)
public int age;
подробнее можно посмотреть здесь https://docs.jboss.org/hibernate/validator/5.0/reference/en-US/html/chapter-groups.html#chapter-groups