@Valid是使用hibernate validation的时候使用

@Validated 是只用spring  Validator 校验机制使用

---------------

@Valid

看看下面的依赖就知道,java的JSR303声明了这类接口,然后hibernate-validator对其进行了实现。


<span style="font-size:18px;">        <dependency><groupId>javax.validation</groupId><artifactId>validation-api</artifactId><version>1.1.0.Final</version></dependency><dependency><groupId>org.hibernate</groupId><artifactId>hibernate-validator</artifactId><version>5.2.1.Final</version></dependency></span>

五、JSR303定义的校验类型

空检查

@Null       验证对象是否为null

@NotNull    验证对象是否不为null, 无法查检长度为0的字符串

@NotBlank 检查约束字符串是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格.

@NotEmpty 检查约束元素是否为NULL或者是EMPTY.

Booelan检查

@AssertTrue     验证 Boolean 对象是否为 true

@AssertFalse    验证 Boolean 对象是否为 false

长度检查

@Size(min=, max=) 验证对象(Array,Collection,Map,String)长度是否在给定的范围之内

@Length(min=, max=) Validates that the annotated string is between min and max included.

日期检查

@Past           验证 Date 和 Calendar 对象是否在当前时间之前

@Future     验证 Date 和 Calendar 对象是否在当前时间之后

@Pattern    验证 String 对象是否符合正则表达式的规则

数值检查,建议使用在Stirng,Integer类型,不建议使用在int类型上,因为表单值为“”时无法转换为int,但可以转换为Stirng为"",Integer为null

@Min            验证 Number 和 String 对象是否大等于指定的值

@Max            验证 Number 和 String 对象是否小等于指定的值

@DecimalMax 被标注的值必须不大于约束中指定的最大值. 这个约束的参数是一个通过BigDecimal定义的最大值的字符串表示.小数存在精度

@DecimalMin 被标注的值必须不小于约束中指定的最小值. 这个约束的参数是一个通过BigDecimal定义的最小值的字符串表示.小数存在精度

@Digits     验证 Number 和 String 的构成是否合法

@Digits(integer=,fraction=) 验证字符串是否是符合指定格式的数字,interger指定整数精度,fraction指定小数精度。

@Range(min=, max=) Checks whether the annotated value lies between (inclusive) the specified minimum and maximum.

@Range(min=10000,max=50000,message="range.bean.wage")
private BigDecimal wage;

@Valid 递归的对关联对象进行校验, 如果关联对象是个集合或者数组,那么对其中的元素进行递归校验,如果是一个map,则对其中的值部分进行校验.(是否进行递归验证)

@CreditCardNumber信用卡验证

@Email  验证是否是邮件地址,如果为null,不进行验证,算通过验证。

@ScriptAssert(lang= ,script=, alias=)

@URL(protocol=,host=, port=,regexp=, flags=)

新建

public class user{@NotNull@Length(min = 1,max = 5)private String name;@Size(min=1,max=5)private int pasWord
}
@RequestMapping(value = "/create", method = RequestMethod.POST)@ResponseBodyBlackDisck createUser(@ModelAttribute @Valid User user, BindingResult result) {if (result.hasErrors()) {List<ObjectError> errorList = result.getAllErrors();for (ObjectError error : errorList) {System.out.println(error.getCode()+" msg="+ error.getDefaultMessage());}return null;}..........}

-----

@validate

关于@Valid和Validated的比较相关推荐

  1. 校验注解:@Valid 和 @Validated区别与用法(附详细案例)

    一.案例对象 本文章会以案例为主,讲解@Valid 和 @Validated这两个注解的区别与用法. 1.首先,创建一个学生对象,如下: import lombok.Data;/*** 学生对象*/ ...

  2. @Valid和@Validated注解校验List<Object>

    @Valid和@Validated注解校验List< Object> spring 4整合hibernate-validator6 1.导包 <dependency><g ...

  3. Java校验框架使用@Valid、@Validated、OVAL+Groovy

    @Valid 与 @Validated Spring Validation验证框架对参数的验证机制提供了@Validated; javax提供了@Valid,配合BindingResult可以直接提供 ...

  4. 常用校验注解@NotEmpty,@NotBlank,@NotNull,@Valid,@Validated用法区别,以及搭配 BindingResult使用,嵌套验证等《使用|CSDN创作打卡》

    文章目录 一.常用注解@NotEmpty,@NotBlank,@NotNull介绍 二.@Valid与@Validated的使用与区别 2.1@Valid与@Validated区别: 2.2嵌套验证 ...

  5. @Valid和@Validated验证List集合--网络踩坑记录

    基于Springboot框架验证list只需要一下两步: 在Controller上添加@Validated注解,方法上添加@Valid注解,就能验证了 实体类: 情况二.只是用@Valid,并且不是S ...

  6. 一文探知@Valid和@Validated 的区别

    使用spring boot开发的道友们,或许或多或少有用到过这两个注解,那么今天我们就来探查一下这两者的异同. 两者都可以使开发人员写的注解校验规则生效,例如在某一个字段上加上@NotNull.@No ...

  7. Spring中@NotEmpty,@NotBlank,@NotNull,@Valid,@Validated注解简介及简单使用

    前言 在开发中,为了代码的稳定性不报空指针异常,经常需要判断前端传过来的值是否为空,为空的话就返回前端值为空的提示,才能进行下一步的操作 Maven依赖的引入: springboot 2.3.0 以后 ...

  8. @Valid和@Validated

    简介 @Validation是一套帮助我们继续对传输的参数进行数据校验的注解,通过配置Validation可以很轻松的完成对数据的约束,配合BindingResult可以直接提供参数验证结果 所有参数 ...

  9. @Validated注解详解,分组校验,嵌套校验,@Valid和@Validated 区别,Spring Boot @Validated

    技术栈: spring boot 2.3.3.RELEASE hibernate-validator 文末附项目源代码 目录 简述 项目依赖 全局异常处理类 基础参数校验 实体类 控制类 测试 嵌套参 ...

  10. @Valid与@Validated区别

    1.@Valid与@Validated作用 @Valid与@Validated都是用来校验接收参数的.@Valid是使用Hibernate validation的时候使用@Validated是只用Sp ...

最新文章

  1. Bootstrap3.0学习第九轮(CSS补充)
  2. python单元测试之unittest框架使用
  3. 软考-信息系统项目管理师-组织级项目管理
  4. python socket 书籍_Python学习之路——socket
  5. 对抗训练硬核分析:对抗样本与模型参数的关系
  6. 数据结构与算法 - 稀疏数组(理解+代码实现案例)
  7. maven 构建 springmvc + spring security 权限控制示例
  8. asp源码-魔方微店商城系统 v1版本源码
  9. java的值传递和引用传递
  10. Nginx源码阅读 --- nginx evnet事件接受请求时,函数执行过程
  11. innerHTMLinnerHTML与innerText的区别outerHTMLinnerHTML与html的区别
  12. Tomcat8.0进入tomcat manager的方法
  13. android核心系列--1,组件生命周期
  14. 在从服务器接收结果时发生传输级错误。(provider: TCP 提供程序, error: 0 - 信号灯超时时间已到)...
  15. 百度网盘分享qt相关视频
  16. spring boot 2.1学习笔记【五】SpringBootTest单元测试及日志
  17. 移动硬盘计算机限制打不开,移动硬盘突然打不开并且要求格式化怎么解决
  18. 迁移学习---迁移学习基础概念、分类
  19. 计算机都学什么数学,计算机专业的数学应学到什么水平?应该学习数学的那些分支?...
  20. 看《江山美人》,让我三次笑场

热门文章

  1. 查看HP小型机各种信息的命令集
  2. 完美世界2017c++游戏开发:笔试题+面试题
  3. Python IO文件管理
  4. 数学建模培训笔记记录--8.3
  5. 【Axure10视频教程】第八章 设置图片
  6. 为什么说“纳什均衡”改变了经济学基础理论
  7. 在 Mac 上如何使用叠放功能
  8. html解析pdf时公共css加载失败
  9. maven依赖c3p0_Maven项目中c3p0连接数据库及实例
  10. 全景合成软件PTGui如何操作?主要功能有哪些?