如何在ConstraintValidator
中执行ConstraintValidator
?
我有一个自定义@NotEmpty
,并且每种类型都有一个自定义ConstraintValidator
,它工作正常。
现在,我想创建一个类级约束,使用已经拥有的自定义ConstraintValidator
检查至少一个指定字段是否为空。约束部分(@ClassNotEmpty
)已完成,但问题是ConstraintValidator
实现。如何获得给定约束的ConstraintValidator
实例?即
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 Validator。
最佳答案
经过进一步研究,似乎没有已知的解决方案可为给定约束(无论是否可移植)获得ConstraintValidator
实例。助手类似乎是做到这一点的唯一方法。