1、到maven中下载jar包
添加到pom.xml文件中
<!-- JSR303数据校验支持,必须是tomcat7及以上版本的服务器 -->
<!-- tomcat7只支持5.x.x的版本,如果是6.x.x及以上的版本,tomcat版本要求更高 -->
<!-- tomcat7以下版本的服务器,el表达式不强大,要额外给tomcat的lib包中替换新的标准的el -->
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-validator -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.4.1.Final</version>
</dependency>
2、在实体类中加上校验注解
@Pattern(regexp="(^[a-zA-Z0-9_-]{6,16}$)|(^[\u2E80-\u9FFF]{2,5})",
message="用户名必须是2-5位中文或者6-16位英文和数字的组合")
private String empName;
//如果在正则表达式中有单斜杠“\”,要替换成双斜杠“\\”
@Pattern(regexp="^([a-z0-9_\\.-]+)@([\\da-z\\.-]+)\\.([a-z\\.]{2,6})$",
message="邮箱格式不正确")
private String email;
3、在后台获取校验信息
/**
* 新增员工
* @param employee
* @return
*/
@RequestMapping(value="/emp",method=RequestMethod.POST)
@ResponseBody
//@Valid代表Employee里的数据要进行校验,BindingResult代表封装校验的结果
public Msg saveEmp(@Valid Employee employee,BindingResult result){
//如果结果中有校验失败,不保存信息,并返回到页面校验失败
if(result.hasErrors()){
Map<String,Object> map = new HashMap<String, Object>();
//获取校验失败信息
List<FieldError> fieldErrors = result.getFieldErrors();
for (FieldError fieldError : fieldErrors) {
//错误字段名:fieldError.getField(),错误信息:fieldError.getDefaultMessage()
map.put(fieldError.getField(), fieldError.getDefaultMessage());
}
return Msg.fail().add("errorFields", map);
}else{
employeeService.saveEmp(employee);
return Msg.success();
}
}
4、页面获取校验失败的信息
$.ajax({
type : "POST",
url : "${APP_PATH}/emp",
data : $("#emps_add_modal form").serialize(),
success : function(result) {
if(result.code==100){
//关闭模态框
$('#emps_add_modal').modal('hide');
//显示新添加的数据
to_page(totalRecord);
}else{
//判断校验字段是否有错误信息,undefined代表没有
if(undefined != result.extend.errorFields.empName){
//显示错误信息
alert(result.extend.errorFields.empName);
}
if(undefined != result.extend.errorFields.email){
alert(result.extend.errorFields.email);
}
}
}
});
以上就是JSR303校验的使用步骤。