java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java @NotBlank属性不能为空

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

作者:狗狗狗狗狗乐啊

在实体类的对应属性上添 @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。

区别总结

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

您可能感兴趣的文章:
阅读全文