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

相关推荐
Java编程爱好者2 小时前
2026 大厂 Java 八股文面试题库|附答案(完整版)
后端
Moment2 小时前
腾讯终于对个人开放了,5 分钟在 QQ 里养一只「真能干活」的 AI 😍😍😍
前端·后端·github
码路飞2 小时前
GPT-5.4 Computer Use 实战:3 步让 AI 操控浏览器帮你干活 🖥️
java·javascript
用户60572374873082 小时前
OpenSpec 实战:从需求到代码的完整工作流
前端·后端·程序员
Java编程爱好者2 小时前
MySQL单表真能存21亿条数据吗?会有严重的性能问题吗?
后端
程序员爱钓鱼3 小时前
Go操作Word文档实战:github.com/nguyenthenguyen/docx
后端·google·go
缓解AI焦虑3 小时前
大模型量化部署进阶:从 INT8/INT4 原理到高性能推理实战
后端
Felix_One3 小时前
ESP32 + Qt 串口通信(一):从协议设计到双向数据链路
后端
用户377515412763 小时前
用 AR 眼镜打造你的办公助手,使用 Unity 开发到 Rokid 部署全记录
后端