前言
表单验证,比如我们要实现未满12岁禁止注册,也就是age小于12,不能被直接添加到数据库,并返回提示信息。
修改实体
package cn.notemi.po;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.validation.constraints.Min;
/**
* Title:User
* Description:
*
* @author Flicker
* @create 2017-08-03 下午 5:10
**/
@Entity
public class User {
@Id
@GeneratedValue
private Integer id;
private String name;
@Min(value = 12,message = "12岁以下禁止注册!")
private Integer age;
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}
public User() {
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
@Min(value = 12,message = "12岁以下禁止注册!")
,通过@Min注解来标示age的传入值不能小于12,小于12的话就会返回message值,也就是提示信息。
来,我们在新增用户里面测试一下。
获取验证信息
/**
* 新增用户
* @return
*/
@PostMapping(value = "/users")
public Result<User> addUser(@Valid User user, BindingResult bindingResult){
if (bindingResult.hasErrors()){
System.out.println(bindingResult.getFieldError().getDefaultMessage());
return null;;
}
user.setAge(user.getAge());
user.setName(user.getName());
return userRepository.save(user);
}
@Valid 注解来标示验证对象。
通过bindingResult.getFieldError().getDefaultMessage()来获取验证信息。
JIMI吴 2019-01-24 10:37
首席阿里巴巴zzzzzzzzzz