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"
/>