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 | 被注解的字符串长度、集合或数组的大小必须在指定范围内 |
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论