我正在使用 Spring-3.1.0.GA 开发服务(不是 Web 应用程序)。我想使用 hibernate-validator 和 Spring 来验证我的服务输入。
我启用了 bean 验证支持:
<bean id="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/>
<bean class="org.springframework.validation.beanvalidation.MethodValidationPostProcessor"/>
我用@Validated 注释了我的服务接口,用@NotNull、@Size、@Valid 等注释了方法参数,它工作正常。
但是我必须根据验证组验证我的参数,比如客户。如果我用 @Validated 或 @Validated(Group1.class) 注释方法参数,Spring 不会执行任何验证。
如果我使用 @Valid 进行注释,那么验证正在发生但使用默认验证组(如预期的那样)。
我无法在接口级别注释 @Validate(Group1.class) 因为各种方法对各种组进行操作。
如何使用具有组支持的 Spring 和 hibernate-validator 执行服务层验证?