SpringBoot表单校验之@NotNull、@NotEmpty、@NotBlank的区别

本文深入解析了表单提交时后端对前端数据的校验机制,重点介绍了@NotNull、@NotEmpty、@NotBlank三个注解的区别及应用场景,适用于基本数据类型、集合类及字符串的非空检查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

保存或者修改进行表单提交时,一般后端对前端返回数据进行约定校验,其中最常用的就是非空判断。涉及到注解@NotNull、@NotEmpty、@NotBlank

三者的区别如下:

  • @NotNull:不能为null,但可以为empty(""," “,” ") ,一般用在基本数据类型的非空校验上,而且被其标注的字段可以使用 @size/@Max/@Min对字段数值进行大小的控制,例如Integer、BigDecimal、String等
  • @NotBlank: 只应用于char值可读序列,即只用于String,且不能为null
  • @NotEmpty:不能为null,而且长度必须大于0(" “,” "),一般用在集合类上面
@ApiModelProperty(value = "保存")
@NotNull(groups = { ReesponseDTO.Save.class }, message = "message不能为空")
private String message;


@ApiModelProperty(notes = "服务价格")
@NotNull(groups = { ReesponseDTO.Save.class }, message = "服务价格不能为空")
private BigDecimal specPrice;


@ApiModelProperty(value = "姓名")
@NotBlank(groups = { ReesponseDTO.Save.class }, message = "姓名不能为空")
private String name;


@ApiModelProperty(value = "证件材料")
@NotEmpty(groups = {ReesponseDTO.Update.class, ReesponseDTO.Save.class}, message = "证件材料不能为空")
@Valid
private List<FileDTO> mournerFiles;

 一般会给dto加上

 public interface Save {};

 public interface Update{};

然后在collection

加上@Validated注解

 @ApiOperation(value = "提交信息接口",notes = "此接口用于提交信息")
 @RequestMapping(method = RequestMethod.POST, value = "/submit")
 public ApiResponse<ManageEntity> submit(@RequestBody @Validated({ReesponseDTO.Save.class}) ReesponseDTO reesponseDTO){

....

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

l去留无心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值