1. Validation 介绍
Validation 是用于检查程序代码中参数的有效性的框架,作为 Spring 框架中的一个参数校验工具,集成在 spring-context 包中。
1.1 Validation 注解
Validation 包含了众多的注解来帮助对Java程序不同类型的参数进行校验,校验相关注解分布在spring-boot-starter-validation 依赖的 javax.validation.constraints 包中。
- @Null/@NotnULL,标注的字段必须为null/必须不为null
- @AssertFalse/@AssertTrue,标注字段可以为null,但不为null时必须为false/true
- @Email,标注的字段对应值必须为email格式
- @URL,标注的字段值必须是URL
- @Patten,标注的字段值必须符合定义的正则表达式
其他类似注解的使用可以查看javax.validation.constraints 包中定义注解信息。
1.2 @valid 和 @validated的区别
在实际使用 Validation 框架时,经常会对 @valid 和 @validated 注解的使用产生误解,在这里对比一下两个注解的异同。
1、当使用仅是注解字段属性并验证规范,@Validated 和 @Valid 注解的功能是相同的。
2、Spring Validation 验证框架提供了 @Validated 注解对参数进行验证,符合Spring's JSR-303规范;而 @Valid 注解是 javax 提供的,符合标准的JSR-303规范。
3、在注解的使用上,@Validated 注解可以用于类型、方法和参数上;而 @Valid 还可以用于属性之上。
原文链接:https://blog.csdn.net/m0_49496327/article/details/124121696