Java中spring boot validation自定义注解使用方式
作者:妍老大
这篇文章主要介绍了Java中spring boot validation自定义注解使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
spring boot validation自定义注解
创建一个注解
@Target({ElementType.FIELD})//需要写注解的三三个要素 @Retention(RUNTIME) @Documented @Constraint(validatedBy = {IsSystemYesNoVaildation.class})//绑定 在这里会报错 你需要去实现 public @interface IsSystemYesNo { String message() default "数据字典:【系统是否】-参数不合法"; //要添加下面这两个 Class<?>[] groups() default { }; Class<? extends Payload>[] payload() default {}; }
public class IsSystemYesNoVaildation implements //入参 类型 ConstraintValidator<IsSystemYesNo,String> {//实现 @Override public boolean isValid(String value, ConstraintValidatorContext context) { //把video传进来 自定义注解就写好了 return SystemYesNo.isCode(value); } }
最后这里是使用注解方法
spring boot Validation校验注解参考表
校验注解 | 注解的元素类型 | 描述 |
@AssertFalse | Boolean、boolean | 被注解的元素值必须为 false |
@AssertTrue | Boolean、boolean | 被注解的元素值必须为 true |
@DecimalMax | BigDecimal、BigInteger、CharSequence、byte、short、int、long以及它们各自的包装类 | 被注解的元素值小于等于@DecimalMax注解中的value 值 |
@DecimalMin | 被注解的元素值大于等于@DecimalMin注解 中的value 值 | |
@Max | BigDecimal、BigInteger、byte、short、int、long以及它们各自的包装类 | 被注解的元素值小于等于@Max注解中的value 值 |
@Min | 被注解的元素值大于等于@Min注解 中的value 值 | |
@Digits | BigDecimal、BigInteger、CharSequence、byte、short、int、long以及它们各自的包装类 | 被注解的元素必须是一个数字,其值必须在可接受的范围内(整数位数和小数位数在指定范围内 |
CharSequence | 被注解的元素必须是Email格式 | |
@Future | Java.util.Date、java.util.Calendar以及java.time包下的时间类 | 被注解的元素值必须是一个未来的日期 |
@Past | 被注解的元素值必须是一个过去的日期 | |
@PastOrPresent | 被注解的元素值必须是一个过去的日期或者当前日期 | |
@FutureOrPresent | 被注解的元素值必须是一个未来的日期或者当前日期 | |
@Negative | BigDecimal、BigInteger、byte、short、int、long以及它们各自的包装类 | 被注解的元素必须是负数 |
@NegativeOrZero | 被注解的元素必须是负数或0 | |
@Positive | 被注解的元素必须是正数 | |
@PositiveOrZero | 被注解的元素必须是或0 | |
@NotBlank | CharSequence | 被注解的元素必须部位null并且至少有一个非空白的字符 |
@NotEmpty | CharSequence、Collection、Map、Array | 被注解的字符串不为null或空字符串,被注解的集合或数组不为空。和@NotBlank注解相比,一个空格字符串在@NotBlank验证不通过,但在NotEmpty中通过验证 |
@NotNull | 任意类型 | 被注解的元素不为null |
@Null | 被注解的元素为null | |
@Pattern | CharSequence | 被注解的 元素必须符合指定的正则表达式 |
@Size | CharSequence、Collection、Map、Array | 被注解的字符串长度、集合或数组的大小必须在指定范围内 |
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。