Valid
示例
/*** 员工对象*/public class Employee {/** 姓名 */public String name;/** 年龄 */public Integer age;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;}}
@Controllerpublic class TestController {@RequestMapping("/add")@ResponseBodypublic String add(Employee employee) {// TODO 保存到数据库return "新增员工成功";}}
判断姓名和年龄为必填项:
常规做法:
应用@Valid:
- maven配置中引入@Vaild的依赖。
如果是Springboot项目,就不用引入了,它就存在于最核心的web开发包里面。
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.0.5.RELEASE</version></dependency>
如果不是Springboot项目,引入以下依赖: ```xml
javax.validation validation-api 1.1.0.Final
4. 在Employee类的属性上打上如下注解:```javapackage com.zyq.beans;import javax.validation.constraints.NotBlank;import javax.validation.constraints.NotNull;import org.hibernate.validator.constraints.Length;import org.hibernate.validator.constraints.Range;/*** 员工对象** @author sunnyzyq* @since 2019/12/13*/public class Employee {/** 姓名 */@NotBlank(message = "请输入名称")@Length(message = "名称不能超过个 {max} 字符", max = 10)public String name;/** 年龄 */@NotNull(message = "请输入年龄")@Range(message = "年龄范围为 {min} 到 {max} 之间", min = 1, max = 100)public Integer age;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;}}
- 在Controller对应方法上,对员工标上@Valid注解,表示对这个对象属性需要进行验证:

- 在参数添加一个BindingResult,存放验证结果:

- 对应获取验证结果的代码如下:
