@validated @valid常用注解

发布时间 2023-05-30 15:19:23作者: 离人怎挽_wdj

@Valid 和 @Validated 比较
最后我们来对 @Valid 和 @Validated 两个注解进行总结下:

(1)@Valid 和 @Validated 两者都可以对数据进行校验,待校验字段上打的规则注解(@NotNull, @NotEmpty等)都可以对 @Valid 和 @Validated 生效;

(2)@Valid 进行校验的时候,需要用 BindingResult 来做一个校验结果接收。当校验不通过的时候,如果手动不 return ,则并不会阻止程序的执行;

(3)@Validated 进行校验的时候,当校验不通过的时候,程序会抛出400异常,阻止方法中的代码执行,这时需要再写一个全局校验异常捕获处理类,然后返回校验提示。

(4)总体来说,@Validated 使用起来要比 @Valid 方便一些,它可以帮我们节省一定的代码,并且使得方法看上去更加的简洁。

`@AssertFalse:

所注解的元素必须是Boolean类型,并且值为false

@AssertTrue:

所注解的元素必须是Boolean类型,并且值为true

@DecimalMax:

所注解的元素必须是数字,并且值要小于或等于给定的BigDecimalString值

@DecimalMin:

所注解的元素必须是数字,并且值要大于或等于给定的BigDecimalString值

@Digits:

所注解的元素必须是数字,并且它的值必须有指定的位数

@Email:

所注解的元素要匹配指定的正则表达式

@Max:

所注解的元素必须是数字,并且值要小于或等于给定的值。注意如果@Max所注解的元素是null,则@Max注解
会返回true,所以应该把@Max注解和@NotNull注解结合使用

@Min:

所注解的元素必须是数字,并且值要大于或等于给定的值。注意如果@Min所注解的元素是null,则@Min注解
会返回true,即也会通过校验,所以应该把@Min注解和@NotNull注解结合使用。

@NotBlank:

所注解的元素不能为null且不能为空白,并且必须至少包含一个非空白字符,用于校验CharSequence(含String、StringBuilder和StringBuffer)。只支持字符类型。

@NotEmpty:

所注解的元素不能为null且长度大于0,可以是空白,用于校验CharSequence、数组、Collection和Map

@NotNull:

所注解的元素不能为null,接受任何类型

@Null:

所注解的元素必须为null,接受任何类型

@Pattern:

所注解的元素必须匹配指定的正则表达式。注意如果@Pattern所注解的元素是null,则@Pattern注解会返回
true,即也会通过校验,所以应该把@Pattern注解和@NotNull注解结合使用

@Size:

所注解的元素必须符合指定的大小,该注解可用于数组,CharSequence(含String、StringBuilder和
StringBuffer),Collection和Map。注意如果@Size所注解的元素是null,则@Size注解会返回true,即也
会通过校验,所以应该把@Size注解和@NotNull注解结合使用`