When a bean is validated multiple times with different groups, in some cases the constraints for the second group are not reported. This used to work in 5.4.3.Final Example that reproduces reliably:
@Test
public void sameBeanDifferentGroups() {
Set<ConstraintViolation<Bean>> violations = Validation.buildDefaultValidatorFactory().getValidator().validate(new Bean());
assertThat(violations, hasSize(1));
}
interface Group {
}
static class Bean {
@Valid
@ConvertGroup(from = Default.class, to = Group.class)
Bean a = this;
@AssertTrue(groups = Group.class)
boolean b;
}
Here I expect the AssertTrue to be reported on path "a.b" |