SpringBoot怎么使用Validation校验参数

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

相关推荐
逊嘘17 分钟前
【Java语言】抽象类与接口
java·开发语言·jvm
morris13124 分钟前
【SpringBoot】Xss的常见攻击方式与防御手段
java·spring boot·xss·csp
monkey_meng42 分钟前
【Rust中的迭代器】
开发语言·后端·rust
余衫马1 小时前
Rust-Trait 特征编程
开发语言·后端·rust
monkey_meng1 小时前
【Rust中多线程同步机制】
开发语言·redis·后端·rust
七星静香1 小时前
laravel chunkById 分块查询 使用时的问题
java·前端·laravel
Jacob程序员1 小时前
java导出word文件(手绘)
java·开发语言·word
ZHOUPUYU1 小时前
IntelliJ IDEA超详细下载安装教程(附安装包)
java·ide·intellij-idea
stewie61 小时前
在IDEA中使用Git
java·git
Elaine2023911 小时前
06 网络编程基础
java·网络