1

I am trying to configure Spring : LocalValidatorFactoryBean to set my custom TraversableResolver

I do the following in my 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>

But at runtime, @Valid bean in controller are validated with default traversable resolver (from hibernate validator). So, how to configure default bean validation configuration in spring ?

4

2 回答 2

1

您是否尝试过添加validation.xml 并在其中添加可遍历的解析器配置?顺便说一句,你想用你的自定义解析器实现什么?

于 2013-09-07T18:19:34.887 回答
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。

于 2014-01-03T23:34:45.687 回答