spring参数校验,@Valid注解的使用 :
@Valid注解用于校验,所属包为:javax.validation.Valid。
- ① 首先需要在实体类的相应字段上添加用于充当校验条件的注解,如:@Min,如下代码(age属于Girl类中的属性):
package com.zhibi.xiuba.mgr.model.valid;
import org.hibernate.validator.constraints.NotEmpty;
//更多验证规则 http://www.iteye.com/topic/1144595
public class ValidAdmin {
@NotEmpty(message="用户名不能为空")
private String username;
@NotEmpty(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对象,用于获取校验失败情况下的反馈信息,如下代码:
@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属性的内容