使用JSR验证
1.spring mvc配置文件中添加:
<mvc:annotation-driven />
2.pom.xml中添加
<dependency >
<groupId> org.hibernate</groupId >
<artifactId> hibernate-validator</artifactId>
<version> 5.1.0.Final</version >
</dependency>
<dependency >
<groupId> org.slf4j</groupId >
<artifactId> slf4j-simple</artifactId >
<version> 1.7.7</ version>
</dependency>
若编译报错,尝试其他版本。
3.pojo中添加注解
@NotEmpty(message= "用户名不能为空" )
private String userName;
@Size(min=1,max=3)
private String password;
@Max(value=120,message= "年龄不能超过120岁" )
private Integer age;
4.controller中添加@Valid标记。
@RequestMapping(value= "/user_save" ) public String saveUser( @Valid @ModelAttribute User user , BindingResult bindingResult , Model model) { if (bindingResult .hasErrors()){ List<ObjectError> errorList = bindingResult .getAllErrors(); System. out .println("errorList大小为:" +errorList .size()); for (ObjectError error : errorList ){ System.out .println(error .getDefaultMessage()); } return "AddUser" ; } }
这里一个@Valid的参数后必须紧挨着一个BindingResult 参数,否则spring会在校验不通过时直接抛出异常。
5.jsp中显示error信息
< form:errors path ="password" cssClass ="error" />