当前位置: 首页 > article >正文

springboot validation 校验字段是否为空

修改和新增分组代码

public interface UpdateGroup {
}
public interface InsertGroup {
}

实体类添加注解

@Schema(name = "reportTypeId", description = "举报类型id")
@NotNull(message = "举报类型id不可为空")
private Long reportTypeId;


@Schema(name = "reportImg", description = "举报图片证据")
@NotEmpty(message = "举报图片证据不可为空")
private List<String> reportImg;


@Schema(name = "reportReason", description = "举报说明")
@NotBlank(message = "举报说明不可为空")
private String reportReason;

@NotNull: 是判断是否为空,一般用作 整形的 Long 、 Integer等,也可以用String 但只判断为null,不判断是否为空字符串

@NotEmpty:非空检查:确保字符串不为 null。非空白检查:确保字符串至少包含一个非空格字符。一般用作String字符串类型

@Size(max,min): 限制字符长度必须在min到max之间

 
@Schema(name = "reportTypeId", description = "举报类型id")
@NotNull(message = "举报类型id不可为空", groups = {InsertGroup.class})
private Long reportTypeId;
 
@Schema(name = "reportReason", description = "举报说明")
@NotBlank(message = "举报说明不可为空", groups = {UpdateGroup.class})
private String reportReason;

如果注解 @NotBlank 不添加groups分组校验,controller 使用 @Validated 也不需要添加分组,新增、修改都可以使用

@PostMapping("/add")
public R add(@Validated @RequestBody SysReportType sysReportType) {
    return R.ok(sysReportTypeService.add(sysReportType));
}

如果注解 @NotNull(message = "举报类型id不可为空", groups = {InsertGroup.class}): 只有添加时  InsertGroup 才会校验;

controller 使用 @Validated(InsertGroup.class) 需要添加分组,此时只会校验  @NotNull 带InsertGroup.class的分组

@PostMapping("/add")
public R add(@Validated(InsertGroup.class)  @RequestBody SysReportInfoDTO sysReportInfoDTO) {
    return R.ok(sysReportInfoService.add(sysReportInfoDTO));
}

 

如果注解 @NotBlank(message = "举报说明不可为空", groups = {UpdateGroup.class}): 只有修改时 UpdateGroup才会校验;

controller 使用 @Validated(UpdateGroup.class) 需要添加分组,此时只会校验  @NotBlank注解 带 UpdateGroup.class 的分组

@PostMapping("/update")
public R update(@Validated(UpdateGroup.class)  @RequestBody SysReportInfoDTO sysReportInfo) {
    return R.ok(sysReportInfoService.update(sysReportInfo));
}

总结,如果不加分组, 实体类 : @NotBlank  controller:@Validated 都不需要添加分组信息

如果加修改分组, 实体类:@NotBlank  controller:@Validated 都需要添加修改 UpdateGroup 分组信息

如果加添加分组, 实体类:@NotBlank  controller:@Validated 都需要添加新增 InsertGroup分组信息


http://www.kler.cn/a/586112.html

相关文章:

  • Java开发之微服务架构设计:Spring Cloud Alibaba核心组
  • 探索HTML5 Canvas:创造动态与交互性网页内容的强大工具
  • 从前端视角理解消息队列:核心问题与实战指南
  • 基于Transformer的医学文本分类:从BERT到BioBERT
  • 3.14-1列表
  • C++【类和对象】(超详细!!!)
  • iPhone 17系列新机模上手,横向矩阵镜头+超薄机身,清新白色设计
  • Flask-Login完整使用案例
  • iOS 模块化架构设计:主流方案与实现详解
  • SpringCloud 学习笔记1(Spring概述、工程搭建、注册中心、负载均衡、 SpringCloud LoadBalancer)
  • 大数据如何赋能零售行业进行产品创新
  • 大语言模型微调和大语言模型应用的区别?
  • 基于SpringBoot + Vue 的房屋租赁系统
  • Spring Boot 读取 ZooKeeper (ZK) 属性的总结指南
  • 基于javaweb的SpringBoot杂物商城系统设计与实现(源码+文档+部署讲解)
  • ES6 字符串和正则表达式
  • 基于群智能算法的三维无线传感网络覆盖优化数学模型-可以使用群智能算法直接调用进行优化,完整MATLAB代码
  • 解析Doris编译脚本env.sh的逻辑
  • Maven安装、idea集成Maven、Maven依赖管理、Maven生命周期
  • C语言中的流程控制语句