@NotBlank与@Validated在参数校验时的使用

article/2025/10/1 7:47:26

1. 在实体类(Student.class)对应的字段加上注解,message为需要提示的信息

package com.example.demo.entity;import lombok.Data;
import lombok.ToString;import javax.validation.constraints.NotBlank;
@Data
@ToString
public class Student {private int id;@NotBlank(message = "学生姓名不能为空!")private String name;@NotBlank(message = "学生地址不能为空!")private String address;
}

2. 在Controller层加入@Validated,BindingResult则是校验的结果

package com.example.demo.controller;import com.example.demo.entity.Student;
import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.List;@RestController
public class TestController {@PostMapping(path = "/addStudent")public List<String> addStudent(@Validated @RequestBody Student student, BindingResult result){List<String> errorList = new ArrayList<>();if(result.hasErrors()){//遍历错误集合for (ObjectError error :result.getAllErrors()) {errorList.add(error.getDefaultMessage());}}return errorList;}
}

 3.结果(将校验的结果返回了)


http://chatgpt.dhexx.cn/article/E0T48yNd.shtml

相关文章

@Validated和@Valid的用法

后端接口经常需要对入参做校验&#xff0c;比如限制非空、长度、类型等。可以用代码校验&#xff0c;但是这样会比较麻烦&#xff0c;代码看着也比较繁琐。所以对于一些简单的校验&#xff0c;可以用注解的方式&#xff0c;这个时候就会用到Validated或Valid的注解了&#xff0…

@Validated注解不生效问题汇总大全

背景&#xff1a; 项目框架应用的是validation进行检验的&#xff0c;但是最近一直不生效&#xff0c;然后排查了下问题&#xff0c;总结了失效的常见几个原因&#xff1a; 原因1&#xff1a; 在2.3.0版本之前spring-boot-starter-web是集成了validation检验的 但是在2.3.0…

Validated、Valid 、Validator,他们的区别你知道几个

目录 ​ 1. 结论先出 Valid VS Validated 相同点 JSR 380 Valid VS Validated 不同点&#xff1f; Valid和Validated区别 Validator 2. Valid和​​​​​​​Validated 注解 3. 例子 4.使用Valid嵌套校验 5. 组合使用Valid和Validated 进行集合校验 6. 自定义校验…

@Valid 和@Validated 总结

Valid 作用在方法&#xff0c;字段&#xff0c;构造器和参数上 Validated 作用在类 方法 和参数上 Validated 和Valid 配合ModelAttribute 与BindingResult 对对象进行校验 &#xff0c;如果校验不通过&#xff0c;那么错误信息就会封装到BindingResult对象了&#xff0c;可以…

@Validated用法

我们在做请求参数时&#xff0c;往往要对前端传过来的参数进行校验&#xff0c;如果一个个去校验&#xff0c;必然会写大量的代码&#xff0c;所以我们可以使用validated注解来简化我们的校验 查资料的过程中又知道了valid注解 下图是可以在参数上使用的校验注解 validate是…

@Validated的使用

javax.validation的一系列注解可以帮我们完成参数校验,免去繁琐的串行校验 1、首先就是在项目中引入依赖&#xff0c;在SpringBoot中spring-boot-starter-web&#xff08;springbootweb启动器&#xff09;依赖的时候中&#xff0c;内部已经依赖了 hibernate-validator 依赖包 …

@Valid和@Validated注解校验以及异常处理

文章目录 前言一、Valid注解1、源码解析2、所属的包3、参数校验使用注解&#xff08;1&#xff09;空校验&#xff08;2&#xff09;Boolean校验&#xff08;3&#xff09;长度校验&#xff08;4&#xff09;日期校验&#xff08;5&#xff09;数值校验&#xff08;6&#xff0…

别再乱用了,这才是 @Validated 和 @Valid 的真正区别和用法!

概述 Valid是使用Hibernate validation的时候使用Validated是只用Spring Validator校验机制使用 说明&#xff1a;java的JSR303声明了Valid这类接口&#xff0c;而Hibernate-validator对其进行了实现 Validation对Valid进行了二次封装&#xff0c;在使用上并没有区别&#xff0…

【优雅的参数验证@Validated】@Validated参数校验的使用及注解详解——你还在用if做条件验证?

Validated参数校验的使用及注解详解 你还在用if做条件验证吗&#xff1f;一、优雅的参数验证Validated1.Valid和Validated的用法(区别)2.引入并使用Validated参数验证 二、javax.validation.constraints下参数条件注解详解三、自定义条件注解 你还在用if做条件验证吗&#xff1…

@Validated和@Valid的区别

Validated和Valid的区别主要体现在3个方面&#xff1a; 1. 分组 Validated&#xff1a;提供了一个分组功能&#xff0c;可以在入参验证时&#xff0c;根据不同的分组采用不同的验证机制。没有添加分组属性时&#xff0c;默认验证没有分组的验证属性。 实体类&#xff1a; Co…

@Validated注解

一. 在javaEE项目中经常要判断一些字段的格式是否正确。在以前基本上都是用if(啥啥 啥)else(啥啥啥) 。但是在知道Validated之后就开始尝试用这个注解了。不但减轻代码量而 且代码更加的易读规整。 二. 下面就以简单例子来说明。 Controller 层 PostMapping("student&q…

@Valid 和 @Validated 注解用法详解

目录 案例引入 Valid 详解 Validated 详解 Valid 和 Validated 比较 案例引入 下面我们以新增一个员工为功能切入点&#xff0c;以常规写法为背景&#xff0c;慢慢烘托出 Valid 和 Validated 注解用法详解。 那么&#xff0c;首先&#xff0c;我们会有一个员工对象 Emplo…

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

技术栈&#xff1a; spring boot 2.3.3.RELEASE hibernate-validator 文末附项目源代码 目录 简述 项目依赖 全局异常处理类 基础参数校验 实体类 控制类 测试 嵌套参数验证 实体类 控制类 测试 分组参数验证 接口类 实体类 控制类 测试 Valid和Validated 区…

@Valid与@Validated的区别

1.介绍 说明&#xff1a; 其实Valid 与 Validated都是做数据校验的&#xff0c;只不过注解位置与用法有点不同。 不同点&#xff1a; &#xff08;1&#xff09; Valid是使用Hibernate validation的时候使用。Validated是只用Spring Validator校验机制使用。 &#xff08;2&…

优雅的使用Validated

前言 Validation是一套帮助我们继续对传输的参数进行数据校验的注解&#xff0c;通过配置Validation可以很轻松的完成对数据的约束。 这个技术一直都想进行梳理了很多复杂校验不会使用&#xff0c;本章节用来进行梳理 validated 用于参数的校验&#xff0c;支持简单和复杂(分组…

@Valid与@Validated区别

1.Valid与Validated作用 Valid与Validated都是用来校验接收参数的。Valid是使用Hibernate validation的时候使用Validated是只用Spring Validator校验机制使用说明&#xff1a;java的JSR303声明了Valid这类接口&#xff0c;而Hibernate-validator对其进行了实现。Validated与V…

java中换行符_Java 中的空格符、换行符等怎么表示

展开全部 特殊字符的自表示方法&#xff1a;&#xff1a; 1、\t 空格2113 (\u0009) 2、\n 换行 (\u000A) 3、\\ 反斜杠5261 4、\r 回车 (\u000D) 5、\d 数字4102等价1653于[0-9] 6、\D 非数字等价于[^0-9] 7、\s 空白符号 [\t\n\x0B\f\r] 8、\S 非空白符号 [^\t\n\x0B\f\r] 9、…

java通用文件换行符_java通用文件换行符

java通用文件换行符 [2021-02-07 00:14:46] 简介: java中的换行符是【\n】和【\r】。二者的区别是:【\r】表示回车,【\n】表示新行,但两者都可以实现换行。具体实现方法如:【System.out.print("\n")】。在java中,可以使用\n和\r来 php如何去掉换行符 2020-09-0…

java 处理换行符_Java 文件换行符识别与转换

项目经验,如需转载,请注明作者:Yuloran (t.cn/EGU6c76) 背景 项目开发需要手动合入几十种语言的翻译到 string.xml 中,这是一件非常痛苦的事情:Copy、Paste,Copy、Paste,Copy、Paste... 人都快疯了!被逼无奈写了个自动替换翻译的工具,原理很简单:解析 Excel中的翻译,…

java回车换行符linux,回车换行符 java

回车换行符 java [2021-01-31 11:28:50] 简介: java中的换行符是【\n】和【\r】。二者的区别是:【\r】表示回车,【\n】表示新行,但两者都可以实现换行。具体实现方法如:【System.out.print("\n")】。在java中,可以使用\n和\r来 php如何去掉换行符 2020-09-02 p…