Я использую Hibernate Validator в качестве реализации JSR-303.
Предположим, у меня есть:
class Form {
@Valid
private Owner mainOwner;
@Valid
private Owner secondOwner;
// ... many other fields
}
class Owner {
@DriverLicenseValid // some custom validation
private String driverLicense;
// ... many other fields
}
// ...
Form myForm;
validator.validate(myForm);
Видите, я хочу проверить всю форму, она содержит два похожих дочерних объекта типа Owner. Проблема в том, что для mainOwner driverLicense должно быть @NotNull, а для secondOwner — @Null.
Я не могу использовать здесь группы (можно?), так как вся модель проверяется одним вызовом validate(). Есть ли способ решить эту проблему, не записывая это правило как пользовательское ограничение на уровне формы?