①添加相关jar包,其中hibernate-validator是验证接口的实现:
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.1.0.Final</version>
</dependency>
②在springmvc配置文件中加入<mvc:annotation-driven/>语句。
③在验证Bean的字段上加上要验证的注解,这里已字符串长短为例子:
@Size(min = 3, max = 10, message = "名字长度在3到20之间!")
private String name;
④在controller中在请求bean前面加上javax.validation的@Valid注解,并且后面紧跟BindingResult对象,在方法中可以如下来处理错误信息:
public String login(@javax.validation.Valid User user, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return "/user/login";
}
⑤在jsp中可以使用<form:errors/>标签来显示错误信息,错误信息就是Bean里定义的message内容,jsp如下:
<form:form action="login" modelAttribute="user" method="post">
用户名:<form:input type="text" path="name"/><form:errors path="name"/>
密 码:<form:input type="password" path="password"/><form:errors path="password"/>
<button>登录</button>
</form:form>