У меня есть этот проект:
public class A {
@Valid
private B b;
}
public class B {
@Max(5)
private int n;
}
public class ValidatorFactory extends AbstractGwtValidatorFactory {
@GwtValidation({A.class, B.class})
public interface GwtValidator extends Validator {}
@Override
public AbstractGwtValidator createValidator() {
return GWT.create(GwtValidator.class);
}
}
public class SomeWidget extends Widget {
...
private A a;
public void validate() {
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
Set<ConstraintViolation<EgyenlegkozloModel>> violations = validator.validate(model);
}
...
}
После запуска SomeWidget.validate()
, хотя B.n
больше 5, нарушение не генерируется. Я проверил сгенерированный код и увидел, что генератор не сгенерировал фрагмент, который бы проверял дочерний элемент.