Spring Boot 2.0 hibernate validate List 验证

编程教程 > Java > Spring (9848) 2024-11-26 14:39:04
Spring Boot 2.0 hibernate validate List 验证问题解决

在对象中,可能你有一个简单的List<String>集合需要正则验证(例如List<String> emails)。
但是直接在集合的字段上标注
@Pattern("\b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}\b.")
List<String> emails
上面这种写法就会报错:
HV000030: No validator could be found for constraint 'javax.validation.constraints.Pattern' validating type 'java.util.List<java.lang.String>'. Check configuration for 'parameter.types'"

那么如何验证类似这种简单集合呢?

解决办法有两种:

方法 一:
新建一个对象存储String字段,例如
public EmailVO{
   @Pattern("\b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}\b.")
   String email;
//get/set
}
然后再
List<EmailVO> emails

方法二:

前置条件:
Bean验证2.0(Hibernate Validator 6.0.1及更高版本)支持通过注释参数化类型的类型参数来验证容器元素。
参考:
List<@NotNull @Pattern(regexp="\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}\\b") String> emails;


两个方法都能解决集合的验证问题。可根据自身环境选择。当然还有其他方法。例如自己实现一个验证注解,或者依赖三方工具包

三方包参考:
https://github.com/jirutka/validator-collection
 

评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
Spring Boot 2.0 hibernate validate 版本冲突导致验证无效,HV000030: No validator could be found for constrain...
Spring Boot validation整合hibernate validator实现数据验证,Spring Boot validation使用说明,Spring Boot validat...
项目升级到springboot之后,参数校验的注解报错,经过与原项目对比,发现spring-boot-starter-web的依赖项已经去除了依赖原版会有如下: &lt;dependency&g...
Spring Boot 2.0 Redis整合,通过spring boot 2.0整合Redis作为spring缓存框架的实现。
spring boot 2.0 security 5.0 整合,实现自定义表单登录。spring boot 2.0框架使用。
Spring Boot 2.0 有哪些新特性_Spring Boot 2.0新功能,在本文中,我们将探讨为Spring Boot 2.0计划的一些更改和功能。我们还会描述这些变化如何帮助我们提高...
Spring Boot 1.x升级到Spring Boot 2.0迁移指南
通过之前的一些文章spring boot 2.3 hibernate validate框架未引入-xqlee (blog.xqlee.com)Spring boot 参数分组校验-xqlee (...
在这个Spring5教程中,学习创建Spring 5 MVC Web应用程序,处理表单提交,集成hibernate连接到后端数据库,以及添加用于输入表单字段验证的hibernate验证器。
本文将介绍Spring Boot和HikariCP示例。HikariCP是快速,简单,可靠和生产就绪的JDBC连接池。在Spring Boot 2.0版本中,默认数据库池技术已从Tomcat P...
Spring Boot 2.0 绑定properties属性资源文件 Spring Boot 2.0 读取properties配置文件值 Spring Boot 2.0获取properties配...
Spring Boot 2.0,Spring框架的Spring Boot 中的Spring Boot Actuator变化讲解。并且了解如何在Spring Boot 2.0中使用Actuator...
学习使用Java配置创建Spring批处理作业(具有多个步骤)。 它使用Spring Boot 2,Spring batch 4和H2数据库来执行批处理作业。