如何在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实例。助手类似乎是做到这一点的唯一方法。

09-10 19:20