如果一个方法中有参数被 @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数据校验DEMO(附:JSR303的JAR包)
本篇文章主要介绍了SpringMVC 使用JSR-303进行校验 @Valid示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
JSR303校验一些常用的规则
本篇文章主要介绍了详解springmvc使用JSR-303进行数据校验,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
一、准备校验时使用的JARvalidation-api-1.1.0.Final.jar:JDK的接口;hibernate-validator-5.2.4.Final.jar是对上述接口的实现;或者在Maven中添加依赖:1.<dependency> 2. <groupId>org.hibernate</groupId> 3. ...
SpringMVC 数据的格式化、JSR 303数据校验和国际化 实例.zip 对应博客:http://blog.csdn.net/peng_hong_fu/article/details/53559773
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...
这是JSR303校验的jar包,是Hibernate实现的。很好的支持SpringMVC4.3x版本之后。
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的验证器完成货物入库输入校验。验证入库时间,以及商品价格是否合理等。主要用到的JSR303中:@Past:验证Date和Calender对象是否在当前时间之前。@Pattern:验证String对象是否符合正则表达式的规则。
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....
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,hibernate的校验框架validation所需要的重要jar包jboss-logging-3.1.1.GA.jar
基于maven+springmvc+spring+mybatis+Bootstrap...还涉及到许多的开发细节:Bootstrap搭建页面,MyBatis逆向工程使用,@ResponseBody注解完成ajax,jquery前端校验,后端jsr303校验等 可以快速开发一个完整的crud功能
这里包含了构建spring项目和SpringMVC项目所需的全部jar,给你一站式的服务,一次下载永久使用, 文件包括 spring4.3.9所有jar以及...springMVC,json,文件上传,jsr303校验 整理不易,小小支持一下,后期持续更新。
303数据校验、错误消息的显示及国际化、Ajax返回JSON、使用HttpMessageConverter、国际化_通过超链接切换中英文、文件上传、自定义的拦截器、拦截器的零Xml配置、异常处理(ExceptionHandler注解、 ...
【资源说明】 1、基于Spring + SpringMvc + MyBatis搭建的学生信息管理系统源码+项目说明.zip ... 增加Bean类JSR303校验,以及完善了学生选课信息管理,修复了学生信息管理漏洞,添加了输入错误提示。
driven配置、InitBinder注解、数据的格式化、JSR303数据校验、错误消息的显示及国际化、Ajax返回JSON、使用HttpMessageConverter、国际化_通过超链接切换中英文、文件上传、自定义的拦截器、拦截器的零Xml配置、异常...
StudentManagement 基于 Maven 管理的Spring + SpringMvc + MyBatis搭建的学生信息管理系统,包括了学生信息管理...增加Bean类JSR303校验,以及完善了学生选课信息管理,修复了学生信息管理漏洞,添加了输入错误提示。
• jquery前端校验+JSR303后端校验 • 3、ajax • 4、Rest风格的URI;使用HTTP协议请求方式的动词,来表示对资的操作(GET(查询),POST(新增),PUT(修改),DELETE(删除)) 源 基于Maven+SpringMVC+Spring+...