使用Hibernate验证进行Spring验证

时间:2016-08-10 19:11:26

标签: java spring validation hibernate-validator spring-validator

我想结合使用Hibernate和Spring Validators。我遇到了这个链接: http://www.mkyong.com/spring-mvc/combine-spring-validator-and-hibernate-validator/

它按预期工作。但是要使其工作必须注释掉InitBinder,如果BindingResult中存在错误,请输入方法并在方法本身内抛出异常。 我更喜欢它像@Validated,它甚至在进入方法之前抛出异常

@Validated用于Spring,如果出现任何错误,则抛出MethodArgumentNotValidException。 有没有办法使用调用Hibernate验证作为Spring Validator类的一部分或调用它们并将它们绑定到相同的结果

1 个答案:

答案 0 :(得分:0)

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/validation/beanvalidation/SpringValidatorAdapter.html

http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/validation/beanvalidation/LocalValidatorFactoryBean.html

遇到了上面的类:带有JSR-303 javax.validator.Validator并将其作为Spring Validator公开的适配器,同时还公开了原始的JSR-303 Validator接口本身。

这解决了这个问题。我创建了一个SpringValidatorAdapter bean并将其注入我的Spring Validators并在对象上调用validate