java JSR 303组合约束
如何在ConstraintValidator
中执行ConstraintValidator
我对每种类型都有一个自定义的@NotEmpty
和一个自定义的ConstraintValidator
,而且效果很好
现在,我想创建一个类级约束,使用我已有的那些自定义ConstraintValidator
来检查至少一个指定字段是否为空。约束部分(@ClassNotEmpty
)已经完成,但问题是ConstraintValidator
实现。如何获得给定约束的ConstraintValidator
实例?i、 e
isValid(Object value, ConstraintValidatorContext constraintValidatorContext) {
String[] fieldValues = getFieldValues(value, this.classNotEmpty.fieldNames());
for (String fieldValue : fieldValues) {
<What do I put here?>.isValid(fieldValue, constraintValidatorContext);
}
}
有没有一种方法可以做到这一点,而无需将验证例程拉到助手类
顺便说一句,我使用的是Spring和Hibernate验证程序
# 1 楼答案
在进一步研究之后,似乎没有已知的解决方案来获得给定约束的
ConstraintValidator
实例,无论是否可移植。助手类似乎是实现这一点的唯一方法