SpringMVC数据校验
2017-02-16 10:36
295 查看
如果想要实现数据校验,需要导入hibernate-validator-5.2.4.Final.jar,validation-api-1.1.0.Final.jar,jboss-logging-3.2.1.Final.jar,classmate-1.1.0.jar这四个包,
在sping配置文件中配置org.springframework.format.support.FormattingConversionServiceFactoryBean,因为<mvc:annotation-driven/>标签内部默认创建的ConversionService实例就是一个FormattingConversionServiceFactoryBean,所以只需要使用标签<mvc:annotation-driven />就可以了。
然后在需要校验的Bean字段上引用需要的标签如下:
之后在Controller类方法中使用@valid标签,如下
注意modelAttribute="model" ,<form:errors path="*"></form:errors>,<form:errors path="name"></form:errors>
错误显示如下
在sping配置文件中配置org.springframework.format.support.FormattingConversionServiceFactoryBean,因为<mvc:annotation-driven/>标签内部默认创建的ConversionService实例就是一个FormattingConversionServiceFactoryBean,所以只需要使用标签<mvc:annotation-driven />就可以了。
然后在需要校验的Bean字段上引用需要的标签如下:
package com.createnets.springmvc.core; import java.io.Serializable; import org.hibernate.validator.constraints.Email; import org.hibernate.validator.constraints.Length; public class User implements Serializable { @Length(min=2,max=6,message="用户信息错误,我滴天哪") private String name; @Email(message="email错误,我滴天哪") private String email; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "User [emil=" + email + ", name=" + name + "]"; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }
之后在Controller类方法中使用@valid标签,如下
@Controller @RequestMapping("/user") public class UserController { @RequestMapping("/add") public String add(@Valid User user, BindingResult result) { if(result.hasErrors()) { return "user/add"; } return "user/add"; } }最后在页面显示校验错误信息如下
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> </head> <body> 11学生表单:<br> <form:form action="teacher/add.html" modelAttribute="model" > <form:errors path="*"></form:errors> <input type="hidden" name="id" value="1" /> <table style="border:1px solid red;margin-left: 100px;"> <tr> <td> 学生姓名 </td> <td> <form:errors path="name"></form:errors> <input type="text" name="name" /> </td> </tr> <tr> <td> 年龄 </td> <td> <input type="text" name="age" /> </td> </tr> <tr> <td colspan="2" align="center" valign="middle"> <input type="submit" value="添加学生"/> </td> </tr> </table> </form:form> </body> </html>
注意modelAttribute="model" ,<form:errors path="*"></form:errors>,<form:errors path="name"></form:errors>
错误显示如下
相关文章推荐
- springmvc学习笔记(25)——数据格式化与数据校验
- springmvc的数据校验
- springmvc的数据校验
- springMvc数据校验
- springmvc的数据校验
- SpringMVC 和 Hibernate Validator的结合(初级)- 基于注解后端数据校验
- SpringMVC的数据校验
- springMvc 数据绑定,类型转换,数据校验 解析
- 【SpringMVC学习06】SpringMVC中的数据校验
- springMVC数据校验
- SpringMVC 集成JSR303数据校验
- Springmvc数据校验
- SpringMvc的数据校验
- 使用SpringMVC数据验证框架validation做数据校验
- SpringMVC 数据校验
- SpringMVC 学习笔记(六) 数据绑定和JSR校验
- 【SpringMVC】SpringMVC系列12之数据类型转换、格式化、校验
- 学习SpringMVC(十八)之JSR303数据校验
- SpringMVC 数据校验
- SpringMVC数据校验