Ada*_*zyk 5 java spring-mvc hibernate-validator bean-validation
是否有一些方法(除了foreach,但良好的foreach可能就足够了),从validator.valid自定义返回消息ConstraintValidator?
简单的例子(是的,我正在尝试进行条件验证)
@TestFormConstraint
public class TestForm {
@NotEmpty
String foo;
boolean checkBar = false;
@NotEmpty(groups=CheckBarGroup.class)
String bar;
//getters & setters ...
}
Run Code Online (Sandbox Code Playgroud)
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;
}
}
Run Code Online (Sandbox Code Playgroud)
任何的想法?
对于这种情况,您可以使用组。因此,删除checkBar字段并仅指定或不指定CheckBarGroup。
喜欢
validator.validate(testForm)或者validator.validate(testForm, CheckBarGroup.class, Default.class)
| 归档时间: |
|
| 查看次数: |
570 次 |
| 最近记录: |