У вас есть идеи, как проверить один объект в этом случае?
У меня есть класс A, который состоит из двух других классов B и C:
public class A{
private B b;
private C c;
}
В этом случае я хотел бы проверить все поля из объекта B, который выглядит так:
public class B{
private String name;
private Long number;
}
Этот тип объекта A передается в мой контроллер как объект запроса, поэтому я хотел бы проверить его перед отправкой.
Дело в том, что я хотел бы проверить объекты название и номер, когда они оба переданы, но если какой-либо из них является ноль, тогда я просто хотел бы проверить тот, который не является ноль.
У вас есть идеи, как это сделать? Я сделал @Valid для объекта A, а также для поля B, но он не показывает исключения ConstraintValidatonException.
Проблема решена - проверка не работает в методе Restcontroller, но после передачи ее в службу все работает хорошо. Я собираюсь исследовать это в свободное время.




Я бы оставил комментарий, но не могу, поэтому вот мой ответ:
Почему бы вам не создать метод validate в class B, который вы можете вызвать в class A.
Просто потому, что мне нужно было бы добавить еще около 15 свойств к классу B, так что мне нужно было написать огромный метод проверки. Я надеюсь, что в Hibernate Validation есть способ сделать это.
Я считаю, что это достижимо только путем проверки на уровне объекта. Так что вы, вероятно, получите аннотацию
@Constraint(validatedBy = YourBValidator.class)наclass B.