ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Spring Boot 参数校验注解(自整理,不停的测试更新)

2022-05-12 16:01:43  阅读:414  来源: 互联网

标签:String 验证 Spring Boot 校验 private YES null 数字


首先我们只使用java官方的 javax.validation.constraints ,足以使用了,不使用spring boot 自身的,自身的与官方的一致,可能会有扩展,但是还得引入包,麻烦,只用官方的就行了。

 

 

 

用java官方的标准 ,就是所有的参数校验注解都在这个包下:

 

 

以下是具体说明:

 

 

注解 作用类型 解释

null是否

能通过验证

@AssertFalse Boolean、boolean 该字段值为false时,验证才能通过 YES
@AssertTrue Boolean、boolean 该字段值为true时,验证才能通过 YES
@DecimalMax  数字类型(原子和包装) 验证小数的最大值
@DecimalMax(value = "12.35")
private double money;

 

YES
@DecimalMin 数字类型(原子和包装) 验证小数的最小值 YES
@Digits 数字类型(原子和包装) 验证数字的整数位和小数位的位数是否超过指定的长度
@Digits(integer = 2, fraction = 2)
private double money;

 

YES
@Email String 该字段为Email格式,才能通过 YES
@Future 时期、时间 验证日期是否在当前时间之后,否则无法通过校验
@Future
private Date date;

 

YES
@FutureOrPresent 时期、时间 时间在当前时间之后 或者等于此时 YES
@Max 数字类型(原子和包装)
//该字段的最大值为18,否则无法通过验证
@Max(value = 18)
private Integer age;

 

YES
@Min 数字类型(原子和包装) 同上,不能低于某个值否则无法通过验证 YES
@Negative   数字<0 YES
@NegativeOrZero   数字=<0 YES
@NotBlank String 该注解用来判断字符串或者字符,只用在String上面

字符串不能为null,字符串trim()后也不能等于“”

NO
@NotEmpty String、集合、数组、Map、链表List

不能为null,不能是空字符,集合、数组、map等size()不能为0;字符串trim()后可以等于“”

NO
@NotNull 任何类型 使用该注解的字段的值不能为null,否则验证无法通过 NO
@Null   修饰的字段在验证时必须是null,否则验证无法通过 YES
@Past 时间、日期 验证日期是否在当前时间之前,否则无法通过校验,必须是一个过去的时间或日期 YES
@PastOrPresent 时间、日期 验证日期是否在当前时间之前或等于当前时间 YES
@Pattern   用于验证字段是否与给定的正则相匹配
@Pattern(regexp = "正则")
private String name;

 

YES
@Positive   数字>0 YES
@PositiveOrZero   数字>=0 YES
@Size 字符串String、集合Set、数组Array、Map,List
修饰的字段长度不能超过5或者低于1
@Size(min = 1, max = 5)
private String name;

集合、数组、map等的size()值必须在指定范围内

    //只能一个
    @Size(min = 1, max = 1)
    private List<String> names;

 

 YES

标签:String,验证,Spring,Boot,校验,private,YES,null,数字
来源: https://www.cnblogs.com/del88/p/16262794.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有