我正在尝试配置Spring:LocalValidatorFactoryBean
来设置我的自定义TraversableResolver
我在 applicationContext.xml 中执行以下操作:
<bean id="customTraversableResolver" class="com.package.core.resolver.SimpleTraversableResolver" />
<bean id="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="traversableResolver" ref="customTraversableResolver" />
</bean>
但是在运行时,控制器中的@Valid
bean使用默认的可遍历解析器(来自hibernate验证器)进行验证。
那么,如何在spring中配置默认bean验证配置?
答案 0 :(得分:1)
您是否尝试过添加validation.xml并在其中添加可遍历的解析程序配置?顺便问一下,你想用自定义解析器实现什么目标?
答案 1 :(得分:0)
当您使用Spring MVC时,您必须以这种方式注册验证器:
<mvc:annotation-driven validator="validator" />
如果您想要方法级验证,请定义bean:
<!-- Enable method-level validation on annotated methods via JSR-303 -->
<bean class="org.springframework.validation.beanvalidation.MethodValidationPostProcessor"
p:validatorFactory-ref="validator" />
然后您不再需要validator.xml
。
注意:这适用于Spring 3.2.x和Hibernate Validator 4.x。