`
hochiang
  • 浏览: 21453 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

springmvc 使用jsr303校验返回400错误

 
阅读更多
如果一个方法中有参数被 @Valid 标注了,但该参数后面没有紧跟一个 BindingResult 类型的参数,那么提交到该方法时,将返回 400 错误。
错误消息将会是:The request sent by the client was syntactically incorrect ().

错误的方法定义 1 :(错误原因:没有 BindingResult 参数)

@RequestMapping({"error400" })
public String error400(@Valid @ModelAttribute("testForm") TestForm testForm) {
    return"test";
}
错误的方法定义 2 :(错误原因:没有紧跟在 @Valid 参数之后)

@RequestMapping({"error400" })
public String error400(@Valid @ModelAttribute("testForm") TestForm testForm, Model model, Errors result) {
    return"demo/front/test";
}
也可参考 DefaultHandlerExceptionResolver.java 中的方法说明:

/**
* Handle the case where an {@linkplain ModelAttribute @ModelAttribute} method
* argument has binding or validation errors and is not followed by another
* method argument of type {@link BindingResult}.
* By default an HTTP 400 error is sent back to the client.
* @param request current HTTP request
* @param response current HTTP response
* @param handler the executed handler
* @return an empty ModelAndView indicating the exception was handled
* @throws IOException potentially thrown from response.sendError()
*/
protectedModelAndView handleBindException(BindException ex, HttpServletRequest request,
        HttpServletResponse response, Object handler)throws IOException {
    response.sendError(HttpServletResponse.SC_BAD_REQUEST);
    returnnew ModelAndView();
}

转自:http://blog.csdn.net/lougnib/article/details/9973257
分享到:
评论

相关推荐

    SpringMVC JSR303数据校验DEMO(附:JSR303的JAR包)

    当用户提交数据时,SpringMVC会自动调用JSR303验证器,如果输入不符合预设规则,系统将抛出异常并返回错误信息。 JSR303的JAR包通常包含了核心验证API(javax.validation.*)和实现,如Hibernate Validator,它是...

    SpringMVC 使用JSR-303进行校验 @Valid示例

    以上所述,是SpringMVC使用JSR-303进行校验的详细知识点,包括了校验时需要添加的依赖、如何在Java Bean中定义校验规则、控制器中如何触发和处理校验、以及如何在前端页面中展示校验结果。掌握了这些知识点,开发者...

    SpringMVC使用JSR-303进行验证Bean.docx

    本篇文章将详细介绍如何在SpringMVC中使用JSR-303进行Bean验证。 首先,我们需要引入JSR-303的实现库。通常使用的是Hibernate Validator,它是JSR-303规范的一个成熟实现。在不使用Maven的情况下,我们需要下载`...

    springmvc使用JSR-303进行数据校验实例

    如果校验失败,我们将返回错误页面的视图名称,否则重定向到成功页面。 通过这种方式,我们不仅在前端进行了数据校验,同时也加强了后端的安全性,确保了即使绕过前端校验,后端依然可以独立完成校验工作,防止非法...

    JSR303校验一些常用的规则

    JSR303校验一些常用的规则

    SpringMVC杂记(五) JSR303数据验证

    在本篇《SpringMVC杂记(五) JSR303数据验证》中,我们将深入探讨SpringMVC框架如何集成并使用JSR303(JavaBeans Validation)来进行数据验证,这是一种强大的验证机制,可以确保应用程序接收到的数据是合法且符合...

    ( SpringMVC 数据的格式化、JSR 303数据校验和国际化 实例.zip

    SpringMVC 数据的格式化、JSR 303数据校验和国际化 实例.zip 对应博客:http://blog.csdn.net/peng_hong_fu/article/details/53559773

    jsr303jar包.zip

    JSR303用到的jar包,本人使用的,现分享给大家,希望能给大家带来帮助 classmate-0.8.0.jar hibernate-validator-5.0.0.CR2.jar hibernate-validator-annotation-processor-5.0.0.CR2.jar jboss-logging-3.1.1...

    JSR303jar包 使用的是Hibernate

    4. 处理异常:当验证失败时,SpringMVC会抛出`MethodArgumentNotValidException`,可以通过异常处理器来捕获并返回错误信息给客户端。 5. 自定义验证:如果预定义的约束不足以满足需求,可以创建自定义的验证注解和...

    springMVC3.2实现后台校验

    Spring MVC 3.2已经内建了对JSR 303的支持,因此我们可以方便地使用预定义的校验注解,如`@NotNull`, `@Min`, `@Max`, `@Size`等。 以下是一些常见的校验注解及其用法: 1. `@NotNull`: 检查字段是否为非空。 2. `...

    SSM笔记-SpringMVC的数据格式化 、数据校验、错误提示、错误信息国际化、返回json

    SpringMVC支持JSR-303/JSR-349标准的数据校验框架,如Hibernate Validator。通过在模型类的字段上添加验证注解(如`@NotNull`, `@Size`, `@Min`, `@Max`等),可以对用户提交的数据进行校验。在控制器中,使用`@...

    springmvc表单验证JSR-303验证框架jar包

    hibernate-validator-5.2.4.Final.jar hibernate-validator-annotation-processor-5.2.4.Final.jar hibernate-validator-cdi-5.2.4.Final.jar validation-api-1.1.0.Final.jar jboss-logging-3.2.1.Final.jar ...

    springmvc数据验证

    通过提供即时反馈,用户可以更快地了解输入问题并进行修正,而不是等待服务器端返回错误信息。此外,验证还可以防止无效请求对后端服务造成不必要的压力,从而提高系统的整体性能和稳定性。 在Spring MVC测试方面,...

    Spring验证器+JSR303.rar

    使用SpringMVC的验证器完成货物入库输入校验。验证入库时间,以及商品价格是否合理等。主要用到的JSR303中:@Past:验证Date和Calender对象是否在当前时间之前。@Pattern:验证String对象是否符合正则表达式的规则。

    springMVC整合hibernate的校验Validation

    这主要是通过使用Hibernate Validator来实现数据的验证,它是一个遵循JSR 303(Java Bean Validation)和JSR 349(Java Bean Validation 1.1)标准的实现。本教程将详细介绍如何在Spring MVC中配置并使用Hibernate ...

    springMVC数据校验.zip

    SpringMVC JSR 数据校验完整jar包下载,一共六个jar包,classmate-1.0.0.jar,hibernate-validator-5.0.0.final.jar,hibernate-validator-annotation-processor-5.0.1.final.jar,hibernate-validator-cdi-5.0.0....

    springmvc 使用hibernate-validator校验包

    本文将深入探讨如何在Spring MVC项目中集成并使用Hibernate Validator来实现高效、强大的数据校验功能。 一、 Hibernate Validator简介 Hibernate Validator是Hibernate组织开发的一个开源项目,它是JSR 380(Java...

    JSR303数据效验.rar

    Spring MVC 数据效验 jar包 :classmate-1.1.0.jar,hibernate-validator-5.2.4.Final.jar,hibernate-validator-annotation-processor-5.2.4.Final.jar,hibernate-validator-cdi-5.2.4.Final.jar,jboss-logging-3.2.1....

    大三(二)springmvc数据校验.zip

    4. **JSR 303/349 与 Hibernate Validator**:JSR 303/349 是 Java 中的 Bean Validation 规范,Hibernate Validator 是其实现。这些规范定义了一系列的校验注解,如 `@NotNull`, `@Size`, `@Email` 等,可以方便地...

    springmvc,hibernate的校验框架validation所需要的jboss-logging-3.1.1.GA.jar包

    springmvc,hibernate的校验框架validation所需要的重要jar包jboss-logging-3.1.1.GA.jar

Global site tag (gtag.js) - Google Analytics