JSR分组校验
1、引入分组校验的依赖包
<!--数据校验依赖包-->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
2、在实体类上注解上响应的校验规则
@TableId
private Long brandId;
3、定义新增的接口类AddGroup和修改的接口类 UpdateGroup(空接口即可)
4、实体类上字段注解上分组校验的规则
@TableId
@NotNull(message = "修改必须指定品牌id", groups = {UpdateGro.class}) //修改时校验规则
@Null(message = "新增不能指定id", groups = {AddGro.class}) //新增时的校验规则
private Long brandId;
5、在controller层方法中注解 @Validated(value = {AddGro.class}) ,指定哪种规则进行校验
/**
* 保存
*/
public R save(@Validated(value = {AddGro.class}) @RequestBody BrandEntity brand){
brandService.save(brand);
return R.ok();
}
注意点:默认若该字段没有指定分组的注解时,在分组校验的情况下是不生效的,所以在分组校验的情况下,每个校验注解都应该要标注该字段属于哪个分组,例如 @NotEmpty(message = “首字母不能为空!”, groups = {AddGro.class})