spring校验

  1. Valid 和 BindingResult
    @Valid 和 BindingResult 是一一对应的,如果有多个@Valid,那么每个@Valid后面跟着的BindingResult就是这个@Valid的验证结果,顺序不能乱

  2. Api
    @Null 只能是null
    @NotNull 不能为null 注意用在基本类型上无效,基本类型有默认初始值
    @AssertFalse 必须为false
    @AssertTrue 必须是true

字符串/数组/集合检查:(字符串本身就是个数组)
@Pattern(regexp="reg") 验证字符串满足正则
@Size(max, min) 验证字符串、数组、集合长度范围
@NotEmpty 验证字符串不为空或者null
@NotBlank 验证字符串不为null或者trim()后不为空

数值检查:同时能验证一个字符串是否是满足限制的数字的字符串
@Max 规定值得上限int
@Min 规定值得下限
@DecimalMax("10.8") 以传入字符串构建一个BigDecimal,规定值要小于这个值
@DecimalMin 可以用来限制浮点数大小
@Digits(int1, int2) 限制一个小数,整数精度小于int1;小数部分精度小于int2
@Digits 无参数,验证字符串是否合法
@Range(min=long1,max=long2) 检查数字是否在范围之间
这些都包括边界值

日期检查:Date/Calendar
@Post 限定一个日期,日期必须是过去的日期
@Future 限定一个日期,日期必须是未来的日期
@DateTimeFormat 校验参数的时间格式,注意这里的格式是固定的,只支持有限的固定格式,如果要灵活,使用@JsonFormat
@om.fasterxml.jackson.annotation.JsonFormat 校验json格式,比较灵活

其他验证:
@Vaild 递归验证,用于对象、数组和集合,会对对象的元素、数组的元素进行一一校验
@Email 用于验证一个字符串是否是一个合法的右键地址,空字符串或null算验证通过
@URL(protocol=,host=,port=,regexp=,flags=) 用于校验一个字符串是否是合法URL

二、进行MethodValidate

  1. 注入MethodValidationPostProcessor Bean
    @Bean
    public MethodValidationPostProcessor methodValidationPostProcessor() {
    return new MethodValidationPostProcessor();
    }
    2.在要MethodValidate的类上加上注解@Validated
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,275评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,131评论 19 139
  • 这是李笑来老师在得到APP开设的专栏–《通往财富自由之路》里,抛出的一个问题。我没有思考这个问题,马上接着往下看,...
    作享其成阅读 363评论 0 0
  • 空中无明月,天涯共此时。佳节候佳人,无处寄相思。 今秋的雨真多,淅淅沥沥下个没完没了。这个假期要一直泡汤了。老公发...
    彩虹人生阅读 328评论 0 0
  • 写在前面的话。 新年快乐啊~ 头一次这么认真的读一本书。从来没读完过一本英文原版书的我,在自习室坐了一下午,才把第...
    長貌怪阅读 859评论 1 0