java中@NotBlank限制属性不能为空

 更新时间:2024年01月30日 16:19:44   作者:狗狗狗狗狗乐啊  
在实体类的对应属性上添 @NotBlank注解,可以实现对空置的限制,本文就来介绍一下java中@NotBlank限制属性不能为空,感兴趣的可以了解一下

在实体类的对应属性上添加 @NotBlank 注解,可以实现对空置的限制。除了 @NotBlank 外,还有 @NotNull 和 @NotEmpty ,它们的区别如下所示:

1.String name = null;
@NotNull: false
@NotEmpty:false 
@NotBlank:false 

2.String name = "";
@NotNull:true
@NotEmpty: false
@NotBlank: false

3.String name = " ";
@NotNull: true
@NotEmpty: true
@NotBlank: false

4.String name = "Great answer!";
@NotNull: true
@NotEmpty:true
@NotBlank:true

需要注意的是 @NotNull 一般作用在 Integer 类型上,其还可以配合 @size、@Max、@Min 对字段的数值大小进行控制。而 @NotEmpty 表示不能为空,且长度必须大于 0 ,一般用在集合类或数组上。 @NotBlank 只能作用在 String 类型上,并且调用 trim() 后,长度必须大于 0 。

同时,使用 @NotBlank 等注解时,一定要和 @valid 一起使用,不然@NotBlank不起作用,如:

	@PostMapping("/save")
	@ApiOperation(value = "新增", notes = "传入supplementaryMaterial")
	public ActionResult save(@Valid @RequestBody SupplementaryMaterial supplementaryMaterial) {
		return new ActionResult().status(supplementaryMaterialService.save(supplementaryMaterial));
	}

 @NotEmpty、@NotBlank、@NotNull三种注解的区别

1. @NotEmpty

@NotEmpty 注解用于验证一个字符串、集合或数组是否为空。它检查目标对象是否为 null,并且长度是否为零。换句话说,被 @NotEmpty 注解标注的字段必须至少包含一个非空字符、元素或项。

public class User {
    @NotEmpty
    private String username;

    // Getter and Setter
}

在上面的例子中,username 字段被标注为 @NotEmpty,这意味着在验证时,username 必须既不为 null,也不为空字符串。

2. @NotBlank

@NotBlank 注解也用于验证字符串是否为空,但它比 @NotEmpty 更严格。它会去除字符串两端的空格,并验证处理后的字符串是否为空。因此,@NotBlank 只适用于字符串类型的字段。

public class Product {
    @NotBlank
    private String productName;

    // Getter and Setter
}

在上述示例中,productName 字段被标注为 @NotBlank,这要求字段既不为 null,也不为空字符串,且去除两端空格后也不能为空。

3. @NotNull

相对于前两者,@NotNull 注解更加简单,它只检查目标字段是否为 null。这意味着它适用于所有类型的字段,包括字符串、对象、基本数据类型等。

public class Order {
    @NotNull
    private Long orderId;

    // Getter and Setter
}

在上述代码中,orderId 字段被标注为 @NotNull,这表示在处理时,orderId 不能为 null。

区别总结

  • @NotEmpty 验证字段不为 null,且长度不为零。适用于字符串、集合和数组。
  • @NotBlank 验证字段不为 null,长度不为零,且去除两端空格后也不为空。仅适用于字符串。
  • @NotNull 验证字段不为 null。适用于所有类型的字段。

到此这篇关于java中@NotBlank限制属性不能为空的文章就介绍到这了,更多相关java @NotBlank属性不能为空内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:

相关文章

  • 深入理解Java对象复制

    深入理解Java对象复制

    使用任何已有的工具,都没有直接使用 get set 方式进行,对象转换的速度快,虽然get set 方式代码对一些比较麻烦,但是效率要高一些的,推荐使用 MapStruct 方式.,需要的朋友可以参考下
    2021-05-05
  • Java postgresql数组字段类型处理方法详解

    Java postgresql数组字段类型处理方法详解

    这篇文章主要介绍了Java postgresql数组字段类型处理方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • mybatis中的扩展实现源码解析

    mybatis中的扩展实现源码解析

    这篇文章主要介给大家绍了关于mybatis中扩展实现的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • 利用Java实现解析网页中的内容

    利用Java实现解析网页中的内容

    这篇文章主要为大家详细介绍了如何利用Java语言做一个解析指定网址的网页内容小应用,文中的实现步骤讲解详细,感兴趣的可以尝试下
    2022-10-10
  • RabbitMQ消息确认机制剖析

    RabbitMQ消息确认机制剖析

    这篇文章主要为大家介绍了RabbitMQ消息确认机制剖析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • 深入解析SpringBatch适配器

    深入解析SpringBatch适配器

    Spring Batch是Spring的一个子项目,使用Java语言并基于Spring框架为基础开发,使得已经使用 Spring 框架的开发者或者企业更容易访问和利用企业服务,本文给大家介绍SpringBatch适配器的相关知识,感兴趣的朋友一起看看吧
    2021-11-11
  • 深入解析Java编程中接口的运用

    深入解析Java编程中接口的运用

    这篇文章主要介绍了Java编程中接口的运用,接口是Java面向对象的继承特性的体现,需要的朋友可以参考下
    2015-10-10
  • Java-web中利用RSA进行加密解密操作的方法示例

    Java-web中利用RSA进行加密解密操作的方法示例

    这篇文章主要给大家介绍了关于在Java-web中利用RSA进行加密解密操作的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-08-08
  • struts2实现文件下载功能

    struts2实现文件下载功能

    这篇文章主要为大家详细介绍了struts2实现文件下载功能,一个非常常见的功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Spring Cloud Gateway实现灰度发布方案

    Spring Cloud Gateway实现灰度发布方案

    灰度发布是在微服务中的表现为同一服务同时上线不同版本,让一部分用户使用新版本来验证新特性,如果验证没有问题,则将所有用户都迁移到新版本上,本文就来介绍一下如何实现,感兴趣的可以了解一下
    2023-12-12

最新评论