目录
一、Validation是什么?
Validation是Spring提供的一个参数校验框架,使用预定义的注解完成参数校验
1.1 使用场景
在前端向我们后端传递来数据的时候,我们需要进行校验
1). 可以手动使用if else校验
2). 使用参数校验框架——Spring Validation
二、使用步骤

依赖:
<!--validation依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
实例:

2.1 实体参数的校验
例如前端传过来的参数要求如下,我们可以通过@RequestBody注解把它绑定到一个实体类上面

我们可以在实体类中通过注解的方式进行参数的校验:
部分注解:
@Null,标注的字段值必须为null
@NotNull,值必须不为nul
@NotEmpty,值不能位null,并且内容不为空
@Email,标注的字段对应值必须为email格式
@URL,标注的字段值必须是URL类型
@Patten,标注的字段值必须符合定义的正则表达式
实例:

定义好注解之后我们还需要在对应的接口的实体参数前面添加注解,才能生效

2.2 分组校验
例如在添加文章时指定某些校验的注解生效,更新文章时也指定某些校验的注解生效

步骤如下:

通过groups注解(类型为数组)指定当前的校验项是属于哪个分组的
注意
1、如果某个校验项没有指定分组,默认属于default分组
2、分组之间可以继承 如果A extends B 那么A中拥有B中所有校验项
然后在校验的时候去指定要校验的分组是哪一组

实例(在实体类中):

controller层中:

2.3 参数的自定义校验
使用场景:已有的注解不能满足所有的校验需求,特殊的情况需要自定义校验(自定义校验注解)
例如state参数内容必须是'已发布'或者'草稿',这个时候我们需要用到自定义注解

使用:
1. 自定义注解 State(里面必须提供三个属性)

2. 自定义校验数据的类StateValidation 实现 ConstraintValidator 接口

3.在需要校验的地方使用自定义注解

956

被折叠的 条评论
为什么被折叠?



