Вы можете аннотировать любые поля, которые вы хотите проверить с помощью @Valid
, и при проверке вашего основного объекта, он также будет проверять поля.
Это работает, например:
public class Order
@Valid
protected Header header;
@Valid
protected List<Detail> details;
}
Вам нужно будет позвонить
Set<ConstraintViolation<Order>> violationsOrder = validator.validate(order, Default.class, ClientGroup.class);
чтобы получить все нарушения (в том числе и для полей). Затем вам нужно будет проанализировать причины, используя getPropertyPath()
, чтобы получить точный источник проверки, если вам это нужно.
javax.validation.Path rp = violation.getPropertyPath();