0

我和这个帖子里的那个人有同样的问题。更准确地说,当我尝试在实现 CustomValidator 接口的自定义验证器中注入一个 bean 时,我收到以下错误(访问我想注入的 bean 时它是一个 NPE):

javax.validation.ValidationException: HV000028: Unexpected exception during isValid call.
at org.hibernate.validator.internal.engine.ConstraintTree.validateSingleConstraint(ConstraintTree.java:294)
at org.hibernate.validator.internal.engine.ConstraintTree.validateConstraints(ConstraintTree.java:164)
at org.hibernate.validator.internal.engine.ConstraintTree.validateConstraints(ConstraintTree.java:125)
at org.hibernate.validator.internal.metadata.core.MetaConstraint.validateConstraint(MetaConstraint.java:86)

...

引起:java.lang.NullPointerException

您对此有解决方案吗?也许是一个例子?因为我尝试了其他线程提供的解决方案,但没有任何效果。

任何帮助表示赞赏。谢谢。

4

1 回答 1

2

Validation.buildDefaultValidatorFactory()如果您想使用基于 Spring 的约束验证器,则不应自行创建验证器工厂 ( )。

您应该让 Spring 自动装配正确的工厂到您的 bean:

@Controller
public class MyController {

    @Autowired
    private ValidatorFactory validatorFactory;

    // ... handler methods

}
于 2013-06-13T11:22:52.110 回答