spring参数校验

spring参数校验,@Valid注解的使用:
@Valid注解用于校验,所属包为:javax.validation.Valid。

  • ① 首先需要在实体类的相应字段上添加用于充当校验条件的注解,如:@Min,如下代码(age属于Girl类中的属性):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package com.zhibi.xiuba.mgr.model.valid; 

import org.hibernate.validator.constraints.NotEmpty;

public class {

(message="用户名不能为空")
private String username;

(message="密码不能为空")
private String password;

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}
}
  • ② 其次在controller层的方法的要校验的参数上添加@Valid注解,并且需要传入BindingResult对象,用于获取校验失败情况下的反馈信息,如下代码:
1
2
3
4
5
6
7
8
@RequestMapping(value="/login", method= RequestMethod.POST) 
public String loginPost(@Valid ValidAdmin validAdmin, BindingResult bindingResult){
if(bindingResult.hasErrors()){
System.out.println(bindingResult.getFieldError().getDefaultMessage());
return null;
}

}

bindingResult.getFieldError.getDefaultMessage()用于获取相应字段上添加的message中的内容,如:@Min注解中message属性的内容