4
ConstraintValidator
에서 validator.valid
의 메시지를 반환하려면 몇 가지 방법 (foreach 이외에도 foreach가 충분할 수 있습니다)이 있습니까?Validator.validate에서 ConstraintValidatorContext로 ConstraintViolation을 병합
간단한 예를
@TestFormConstraint
public class TestForm {
@NotEmpty
String foo;
boolean checkBar = false;
@NotEmpty(groups=CheckBarGroup.class)
String bar;
//getters & setters ...
}
public class TestFormValidator
implements ConstraintValidator<TestFormConstraint, TestForm> {
@Autowired
private Validator validator;
@Override
public void initialize(ValidTestForm constraintAnnotation) {}
@Override
public boolean isValid(TestForm form, ConstraintValidatorContext context) {
if(form.isCheckBar()){
Set<ConstraintViolation<TestForm>> con =
validator.validate(form, CheckBarGroup.class);
if(!con.isEmpty()){
//ok, so what to do here? iterate over con and for each msg
//call context.buildConstraintViolationWithTemplate ?
return false;
}
}
return true;
}
}
어떤 생각을 (예, 나는 조건 검증을 할 노력하고있어)?