# day03_springMVC05_validation **Repository Path**: JavaObjects/day03_springMVC05_validation ## Basic Information - **Project Name**: day03_springMVC05_validation - **Description**: springMVC校验 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-10-17 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # springMVC校验 #### 1. 导入校验jar文件 ![](WebContent/Images/1.png) ``` hibernate-validator-4.3.0.Final.jar jboss-logging-3.1.0.CR2.jar validation-api-1.0.0.GA.jar ``` #### 2. 在spring-mvc.xml中配置校验器 ![](WebContent/Images/2.png) ```xml classpath:CustomerValidationMessages ``` #### 3. 在src路径下配置错误信息文件CustomerValidationMessages.properties ![](WebContent/Images/3.png) ```properties emp.empno = \u96C7\u5458\u7F16\u53F7\u957F\u5EA6\u5FC5\u987B\u4E3A4 emp.ename = \u96C7\u5458\u540D\u79F0\u5FC5\u987B\u7531\u4E0B\u5212\u7EBF\u3001\u6570\u5B57\u3001\u5B57\u6BCD\u7EC4\u6210\uFF0C\u957F\u5EA6\u5FC5\u987B\u57286-10\u4F4D\u4E4B\u95F4 emp.salary = \u85AA\u6C34\u5FC5\u987B\u5927\u4E8E1000\uFF0C\u5C0F\u4E8E99999 ``` #### 4. 在spring-mvc.xml中校验器注入到处理器适配器中 ```xml ``` #### 5. 在Emp.java添加校验规则 ![](WebContent/Images/4.png) ```Java public class Emp { /**雇员编号*/ @Min(value=1000,message="{emp.empno}") @Max(value=9999,message="{emp.empno}") private int empno; /**雇员姓名*/ @Pattern(regexp="[0-9a-zA-Z_]{6,10}",message="{emp.ename}") private String ename; /**职位*/ @NotEmpty(message="{emp.job}") private String job; /**上级经理*/ @Min(value=1000,message="{emp.mgr}") @Max(value=9999,message="{emp.mgr}") private int mgr; /**入职日期*/ @NotNull(message="{emp.hiredate}") private Date hiredate; /**薪水*/ @Min(value=1000,message="{emp.salary}") @Max(value=99999,message="{emp.salary}") private double salary; /**奖金*/ @Min(value=1000,message="{emp.comm}") @Max(value=99999,message="{emp.comm}") private double comm; } ``` #### 6. 在EmpController.java中捕获错误信息 ![](WebContent/Images/5.png) ```Java @RequestMapping("/insertEmp") public String insertEmp(Model model,@Valid Emp emp,BindingResult bindingResult) { //判断是否有错误结果 if(bindingResult.hasErrors()) { //获取错误结果 List errorList = bindingResult.getAllErrors(); /*for (ObjectError error : errorList) { System.err.println(error.getDefaultMessage()); }*/ //将错误结果保存在request作用域 model.addAttribute("errorList", errorList); //跳转回新增界面,并显示错误信息 return "empInsert"; } System.out.println("新增用户的信息:" + emp); return "success"; } ``` #### 7. 在empInsert.jsp中显示错误信息 ![](WebContent/Images/6.png) ```Jsp
${error.defaultMessage}
``` #### 7. 效果如下 ![](WebContent/Images/7.png)