【问题标题】:Constraint Validation约束验证
【发布时间】:2010-04-26 03:54:41
【问题描述】:

我正在使用javax.validation.Validator 和相关类进行基于注释的验证。

Configuration<?> configuration = Validation.byDefaultProvider().configure();   
ValidatorFactory factory = configuration.buildValidatorFactory();   
Validator validator = factory.getValidator(); 

Set<ConstraintViolation<ValidatableObject>> constraintViolations = validator.validate(o);   
for (ConstraintViolation<ValidatableObject> value : constraintViolations) {   
     List< Class< ? extends ConstraintValidator< ? extends Annotation,?>>> list = 
             value.getConstraintDescriptor().getConstraintValidatorClasses();  
}

我收到一个编译错误说明:

类型不匹配:无法从 List>> 扩展到 List>>

我错过了什么?

【问题讨论】:

  • 你有想过这个吗?

标签: java generics constraints bean-validation


【解决方案1】:

如果您不介意使用ConstraintValidator&lt;?, ?&gt;(即您不需要ConstraintValidator&lt;? extends Annotation, ?&gt;),这应该可以:

Configuration<?> configuration = Validation.byDefaultProvider().configure();   
ValidatorFactory factory = configuration.buildValidatorFactory();   
Validator validator = factory.getValidator(); 

Set<ConstraintViolation<ValidatableObject>> constraintViolations = validator.validate(o);   
for (ConstraintViolation<ValidatableObject> value : constraintViolations) {   
     List< Class< ? extends ConstraintValidator<?,?>>> list = 
             value.getConstraintDescriptor().getConstraintValidatorClasses();  
}

【讨论】:

    猜你喜欢
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-03
    • 1970-01-01
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多