描述:光靠前端校验是不安全的,所以需要后端校验。Spring 3.0以后才支持jsr303校验,校验方式特别简单。
下面就给出部分代码实现:
1、需要导入的jar包:(注意:这里是利用maven进行依赖管理)
<!-- 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、控制层:
@RequestMapping(value="/emp",method=RequestMethod.POST) @ResponseBody public Message 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) { map.put(fieldError.getField(), fieldError.getDefaultMessage()); } return Message.fail().addData("filedErrors", map); }else { employeeService.saveEmp(employee); return Message.success(); } }
3、bean:
package com.atguigu.crud.bean; import javax.validation.constraints.Pattern; public class Employee { private Integer empId; @Pattern(regexp="(^[a-zA-Z0-9_-]{6,16}$)|(^[\u2E80-\u9FFF]{2,5})",message="用户名必须是6-16位数字和字母的组合或者2-5位中文") private String empName; private String gender; @Pattern(regexp="^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$" , message="邮箱格式不正确") private String email; private Integer dId; //希望查询员工,同时带上部门信息 private Department department; public Employee() { super(); } public Employee(Integer empId, String empName, String gender, String email, Integer dId) { super(); this.empId = empId; this.empName = empName; this.gender = gender; this.email = email; this.dId = dId; } public Department getDepartment() { return department; } public void setDepartment(Department department) { this.department = department; } public Integer getEmpId() { return empId; } public void setEmpId(Integer empId) { this.empId = empId; } public String getEmpName() { return empName; } public void setEmpName(String empName) { this.empName = empName == null ? null : empName.trim(); } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender == null ? null : gender.trim(); } public String getEmail() { return email; } public void setEmail(String email) { this.email = email == null ? null : email.trim(); } public Integer getdId() { return dId; } public void setdId(Integer dId) { this.dId = dId; } }