spring - 同时使用 JSR-303 和传统 Bean 验证?

标签 spring spring-mvc bean-validation

是否可以同时使用 JSR-303 bean validationtraditional validation (该类型的单个验证器类)在 Spring 中?如果是这样,设置它需要什么配置?

我已经尝试了 reference 上的说明.

@InitBinder
protected void initBinder(WebDataBinder binder) {
    binder.setValidator(new DualEntryValidator());
}

@RequestMapping(value="/dualEntry.htm", method = RequestMethod.POST)
public ModelAndView handlePost(@Valid DualEntryForm form, BindingResult result) {
    ModelAndView modelAndView = new ModelAndView("dualEntry", getCommonModel());

    if (!result.hasErrors()){
        //do logic
        return modelAndView;

    }else {
        modelAndView.addObject("dualEntryForm", form);
        return modelAndView;
    }
}

我可以使用我的自定义 Validator JSR-303 验证,但不能同时使用两者。如果我在示例中存在 initBinder,它将使用自定义 Validator。如果我删除它,则使用 JSR-303 bean 验证。我如何同时使用

最佳答案

我已按照此处的说明进行操作:

http://blog.jteam.nl/2009/08/04/bean-validation-integrating-jsr-303-with-spring/

请参阅“享受两个世界”部分。很快,您从 Spring 验证器显式运行 JSR303 验证,基于注释和您的自定义验证逻辑“加入”JSR303 验证的结果。

关于spring - 同时使用 JSR-303 和传统 Bean 验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6835122/

相关文章:

java - 方法完成后 PostgreSQL 关闭连接

json - Spring 启动 : ValidationMessages found but ContributorValidationMessages not found?

java - 确定类和属性约束 JSR303 bean 验证

java - 在将 XML 解码为对象时,EclipseLink MOXy 是否能够应用 JSR-303 Bean 验证?

hibernate - 我怎样才能加快 Maven 和 Netbeans

java - Spring 4 - 无法提供静态内容( Bootstrap )

java - Spring Security 3 哈希密码编码器

java - 在 Hibernate 中动态创建 SessionFactory

java - 如何使用 EclipseLink 和 Spring 配置动态编织?

java - Spring : Logging not working with log4j or logback