我有同样的问题,来自this线程的人有。 更准确地说,当我尝试在我的自定义验证器中注入一个实现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
你有解决方案吗?也许是一个例子?因为我尝试了在另一个线程上提供的解决方案,但没有任何效果。
感谢任何帮助。感谢。
答案 0 :(得分:0)
如果要使用基于Spring的约束验证器,则不应自行创建验证器工厂(Validation.buildDefaultValidatorFactory()
)。
你应该让Spring自动装配正确的工厂到你的bean:
@Controller
public class MyController {
@Autowired
private ValidatorFactory validatorFactory;
// ... handler methods
}