SpringBoot中的表单校验

SpringBoot中的表单校验

一、添加依赖

请注意,不添加依赖编译不会报错,但是校验注解不会生效!

<dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> </dependency> <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> </dependency>

版本号需要与Spring Boot版本号对应

二、添加标记

在Controller的入参RequestBody前面加注解@Valid表明这里需要校验参数,并且在入参的最后添加一个ResultBinding对象,用来接受校验结果。如果添加了全局异常捕获也可以在其中处理校验异常,从而无需添加ResultBinding对象。
例:

@PostMapping("/add") public Result<?> add(@RequestBody @Valid AddForm form, ResultBinding resultBinding){ if(resultBinding.hasErrors()){ // 处理异常 } }

三、添加表单注解

表单类型有很多种,具体可参阅引入的依赖
常用的有以下几种

注解 适用类型 含义
@NotNull 适用于所有对象 用来做非空校验
@NotBlank String 用来做空串校验
@NotEmpty String类、Collection、Map、数组 可以校验集合非空,字符串非空
@Size(min=,max=) String、Collection、数组 可以对字符串、数组、列表的大小做校验
@Pattern String 对字符串做格式校验
@Max Integer 对Integer做大小限制
@Min Integer 对Integer做大小限制
@DecimalMax BigDecimal 对BigDecimal做大小限制
@DecimalMin BigDecimal 对BigDecimal做大小限制
@Valid JavaBean 用来做循环校验

__EOF__

本文作者ZOLMK
本文链接https://www.cnblogs.com/zolmk/p/16320361.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   zolmk  阅读(367)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示