Java Validation NotBlank注解修饰Date类型报错

Spring数据校验@Validated 通过 @ControllerAdvice 实现全局异常处理,在@ControllerAdvice中捕获MethodArgumentNotValidException异常,来处理@Validated 验证返回。使用@Validated后如果验证失败会抛出一个MethodArgumentNotValidException 异常,这个异常会被做默认处理。Spring 中的 @valid maven在springBoot核心包里,如果使用springBoard则不用引包。 阅读详情

报错详情

2021-04-02 14:13:44.191 [http-nio-8103-exec-4] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint ‘javax.validation.constraints.NotBlank’ validating type ‘java.util.Date’. Check configuration for ‘activityStartTime’] with root cause
javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint ‘javax.validation.constraints.NotBlank’ validating type ‘java.util.Date’. Check configuration for ‘activityStartTime’
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.getExceptionForNullValidator(ConstraintTree.java:108)
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.getInitializedConstraintValidator(ConstraintTree.java:140)
at org.hibernate.validator.internal.engine.constraintvalidation.SimpleConstraintTree.validateConstraints(SimpleConstraintTree.java:55)
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.validateConstraints(ConstraintTree.java:73)
at org.hibernate.validator.internal.metadata.core.MetaConstraint.doValidateConstraint(MetaConstraint.java:127)
at org.hibernate.validator.internal.metadata.core.MetaConstraint.validateConstraint(MetaConstraint.java:120)
at org.hibernate.validator.internal.engine.ValidatorImpl.validateMetaConstraint(ValidatorImpl.java:552)
at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForSingleDefaultGroupElement(ValidatorImpl.java:515)
at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForDefaultGroup(ValidatorImpl.java:485)
at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForCurrentGroup(ValidatorImpl.java:447)
at org.hibernate.validator.internal.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:397)
at org.hibernate.validator.internal.engine.ValidatorImpl.validate(ValidatorImpl.java:173)

Controller接参代码

@PostMapping("/add")
	@ApiOperation(value = "添加活动信息")
	public Result<ActivityVo> activityAdd(@RequestBody @Valid ActivityDTO activityDTO) throws UnsupportedEncodingException {
		return activityService.activityAdd(activityDTO);
	}

接参实体类

package com.qingke.studytour.manager.entity.dto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author Even
 * @Title:
 * @Package
 * @Description:
 * @date 2021/3/22 10:41
 */
@Data
public class ActivityDTO {
	@ApiModelProperty(value = "大活动Id")
	private Long activityId;
	@ApiModelProperty(value = "子活动Id")
	private Long id;
	@ApiModelProperty(value = "活动名称")
	@NotBlank(message = "活动名称不能为空")
	private String activityName;
	@NotBlank(message = "活动开始时间不能为空")
	@ApiModelProperty(value = "活动开始时间")
	private Date activityStartTime;
	@NotBlank(message = "活动结束时间不能为空")
	@ApiModelProperty(value = "活动结束时间")
	private Date activityEndTime;
	@NotBlank(message = "报名开始时间不能为空")
	@ApiModelProperty(value = "报名开始时间")
	private Date applyStartTime;
	@NotBlank(message = "报名结束时间不能为空")
	@ApiModelProperty(value = "报名结束时间")
	private Date applyEndTime;
	@NotBlank(message = "报名费不能为空")
	@ApiModelProperty(value = "报名费")
	private BigDecimal applyAmount;
	@NotBlank(message = "学校不能为空")
	@ApiModelProperty(value = "学校ID")
	private Long schoolId;
	@ApiModelProperty(value = "学校名称")
	private String schoolName;
	@NotBlank(message = "负责人不能为空")
	@ApiModelProperty(value = "负责人Id")
	private Long activityPrincipalId;
	@ApiModelProperty(value = "负责人姓名")
	private String activityPrincipalName;
	@NotBlank(message = "分享标题不能为空")
	@ApiModelProperty(value = "分享标题")
	private String shareTitle;
	@NotBlank(message = "分享图片不能为空")
	@ApiModelProperty(value = "分享图片")
	private String  shareImgs;
	@NotBlank(message = "活动图片不能为空")
	@ApiModelProperty(value = "活动图片")
	private String activityImgs;
	@ApiModelProperty(value = "活动行程描述")
	private String activityRemark;


}

关键报错
No validator could be found for constraint ‘javax.validation.constraints.NotBlank’ validating type ‘java.util.Date’. Check configuration for ‘activityStartTime’] with root cause
javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint ‘javax.validation.constraints.NotBlank’ validating type ‘java.util.Date’. Check configuration for ‘activityStartTime’
尝试使用javax.validation.constraints.NotEmpty注解
2021-04-02 14:21:54.880 [http-nio-8103-exec-5] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint ‘javax.validation.constraints.NotEmpty’ validating type ‘java.util.Date’. Check configuration for ‘activityStartTime’] with root cause
javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint ‘javax.validation.constraints.NotEmpty’ validating type ‘java.util.Date’. Check configuration for ‘activityStartTime’
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.getExceptionForNullValidator(ConstraintTree.java:108)
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.getInitializedConstraintValidator(ConstraintTree.java:140)
at org.hibernate.validator.internal.engine.constraintvalidation.SimpleConstraintTree.validateConstraints(SimpleConstraintTree.java:55)
at org.hibernate.validator.internal.engine.constraintvalidation.ConstraintTree.validateConstraints(ConstraintTree.java:73)
at org.hibernate.validator.internal.metadata.core.MetaConstraint.doValidateConstraint(MetaConstraint.java:127)
at org.hibernate.validator.internal.metadata.core.MetaConstraint.validateConstraint(MetaConstraint.java:120)
at org.hibernate.validator.internal.engine.ValidatorImpl.validateMetaConstraint(ValidatorImpl.java:552)
at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForSingleDefaultGroupElement(ValidatorImpl.java:515)
at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForDefaultGroup(ValidatorImpl.java:485)
at org.hibernate.validator.internal.engine.ValidatorImpl.validateConstraintsForCurrentGroup(ValidatorImpl.java:447)
at org.hibernate.validator.internal.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:397)
at org.hibernate.validator.internal.engine.ValidatorImpl.validate(ValidatorImpl.java:173)
使用javax.validation.constraints.NotNull注解日期类型
[] threw exception [Request processing failed; nested exception is javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint ‘javax.validation.constraints.NotBlank’ validating type ‘java.math.BigDecimal’. Check configuration for ‘applyAmount’] with root cause
javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint ‘javax.validation.constraints.NotBlank’ validating type ‘java.math.BigDecimal’. Check configuration for ‘applyAmount’
No validator could be found for constraint ‘javax.validation.constraints.NotBlank’ validating type ‘java.lang.Long’. Check configuration for ‘schoolId’] with root cause
javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint ‘javax.validation.constraints.NotBlank’ validating type ‘java.lang.Long’. Check configuration for ‘schoolId’
No validator could be found for constraint ‘javax.validation.constraints.NotBlank’ validating type ‘java.lang.Long’. Check configuration for ‘activityPrincipalId’] with root cause

@NotBlank注解源码

可以看到该注解支持校验类型CharSequence类型的实体对象

The annotated element must not be {@code null} and must contain at least one

  • non-whitespace character. Accepts {@code CharSequence}.
解决No validator could be found for constraint ‘javax.validation.constraints.NotBlank‘ validating type 解决javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint 'javax.validation.constraints.NotBlank' validating type 'java.lang.Long'. Check configuration for 'id'问题,补充Knife4j介绍,@NotEmpty、@NotBlank等注解的正确使用和ChatGPT的介绍等文章。 阅读详情

相关推荐

高通camera驱动 camx read xml 和 probe 流程 和 sensor I2C读写的波形图 (三)

Camx 刚接触的时候对于这个xml 一脸懵逼,实际上和mm-camera差不多就是以xml node节点的方式标准化了driver相关的code,exposure 和 gain的逻辑实现还是在同级目录的cpp中,并且将 xml 的解析工作放在了 out/target/<product>/gen/STATIC_LIBERARIES/libcamxgenerated_intermediates/generated/ 中主要是包含了: g_chromatix : tuning 相关xml的解析co

shangbolei的博客 1万+

javax.validation : HV000030: No validator could be found for type: java.lang.Integer

1.错误信息 严重: Servlet.service() for servlet [spring-mvc] in context with path [] threw exception [Request processing failed; nested exception is javax.validation.UnexpectedTypeException: HV000030: No va

韩超的博客 (hanchao5272) 2809

详解一典型的反激式开关电源方案

如图,在某系统方案上看到下图所示的单端反激式开关电源方案。

alala120的博客 1万+

Request processing failed; nested exception is javax.validation.ConstraintViolationException报错

 @Valid改为 @Validated错误消失 原因:实体里的校验导入的包为 import org.hibernate.validator.constraints.NotEmpty; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; 必须用@Validated...

fwk19840301的博客 8461

第33次CCF-CSP认证考试 第一题 词频统计 满分题解

本人小白一枚,抱着学习的态度想到网上找一些csp的参考答案,但由于实力有限,大佬的代码大都看不太懂,于是萌生了想用一些简单,基础的语句完成csp前两题的想法并公开,以便与像我这样实力不强的同学交流学习,如有更好的建议,还请斧正,感谢!

qq_75242106的博客 1869

halcon 检测直线

图中后三个对象既是检测出的图像;

qq_59062726的博客 665

HV000030 No validator could be found for constraint ‘javax

HV000030: No validator could be found for constraint ‘javax.validation.constraints.NotEmpty’ validating type ‘java.lang.Integer’. Check configuration for ‘serviceType’ 情景在线 最近项目中参数校验实体类有个tag标签属性,存放的是类型的id,需要做非空校验,我使用的注解是@NotEmpty,但是报错 我自己百度了下,一开始花了十分钟都没有解决

java技术博客 1833

【示波器专题】无源探头的常用附件

使用探头进行测试,我们不仅要知道探头的原理,还需要了解探头的常用附件及其使用方式,这样才能在尽可能在测试中提高效率且减少出错的概率

一点硬件 692

springmvc 全局异常处理 and 拦截器、拦截器的执行流程

springmvc 全局异常处理 and 拦截器、拦截器的执行流程

pig_ning的博客 317

uniapp [全端兼容] - 实现全景图Vr 720°全景效果查看预览功能,3D全景图流畅不卡顿渲染+手势拖拽+悬浮工具按钮,uniAPP实现vr看720度全景效果示例代码(H5小程序APP全兼容)

uniapp显示720度全景图,720°全景图显示,在h5中展示720°全景图,浏览全景图,基于uniApp实现vr全景预览,加载全景图,uni-app全景预览插件,UNI-APP实现3D全景图,实现720°全景图展示,uniapp全景视频播放,uniapp项目实现vr720度全景图片预览,在网页上展示760全景图片和视频,全景图场景切换,UNIAPP全景VR图,uniapp加载720全景图_uniapp怎么加载vr图片,uniapp实现vr全景看房,uni-app实现全景效果,加载很慢卡怎么办,实现全景预

🏆 前端领域优质创作者 1万+

从零开始:手把手教你设计人形机器人锂电池供电系统

人形机器人要像人类一样“活起来”,必须有稳定的“能量血液”——供电系统。本文聚焦锂电池供电系统如何根据机器人功耗选择合适的锂电池参数(容量、电压、放电倍率);如何设计电池管理系统(BMS)保护电池安全;如何解决机器人运动时的“瞬时大电流”供电难题;如何通过硬件电路和代码实现供电系统的监测与控制。用“机器人小助手的能量危机”故事引入锂电池供电系统;拆解锂电池核心参数(容量、电压、放电倍率)和供电系统三大组件(电池组、BMS、电源转换模块);

AI天才研究院 1758

java unexpected type_找不到类型的验证器:java.lang.Integer

尝试处理我的创建/编辑表单我收到以下错误:HTTP Status 500 – Request processing failed; nested exception isjavax.validation.UnexpectedTypeException: HV000030: No validator couldbe found for type: java.lang.Integer.我的控制器:/*...

weixin_34044446的博客 595

二、FM1288调试方案-工具软件使用

分析音频数据的软件需要满足以下几点:1、能打开原始pcm音频文件;2、基本的音频播放软件的操作;3、能查看分析音频数据的频率成分;4、能查看分析音频音量幅度;5、能完成基本音频处理:降噪、音量增幅限幅、滤波和均衡;

优快云mianfeixiazai001的博客 1293

spring-8-实验五-十 自定义数据类型的绑定进行日期类型转换。

1、在实体类UserInfo.java中添加一个日期型属性regDate,并添加该属性的get和set方法。 UserInfo.java文件中: private Date regDate; public Date getRegDate(){ return regDate; } public void setRegDate(Date regDa...

qq_25799253的博客 639

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

HV000030: No validator could be found for constraint ‘javax.validation.constraints.NotBlank‘ validat

报错:解决:最开始我的代码是这样子写的, 然后本来是想给时间这边多加一个限定,限制不能为空且日期为当前时间或之后的时候报错了。报了上面这个错。接下来就是开始测试为什么报错了。

weixin_47314602的博客 1080

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

SpringCloud微服务踩坑系列-java.lang.IllegalStateException

出问题的时候搜了好多,几乎千篇一律的让它方法参数中的int类型改为Integer类型,我想说的是,既然已经是null了,你转换成int会异常,那能转换为Integer类型真的就是你需要的吗?这里的问题是调用的时候使用了json,这是一个比较低级的错误,也是比较常见的错误,如果调用的时候使用的是json格式的话,那就应该使用@RequestBody来转化成一个类,body里的每个属性名字和类名相同。另外一种解决方式,不使用json,使用form-data,相当于每个参数对应方法一个属性。

个人专长:数据结构和算法、大数据、数据库、主流框架 1560

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

org.springframework.web.util.NestedServletException: Request processing failed; nested exception....

背景:使用SSM框架; 操作:访问项目中的一个页面后,使用浏览器的回退键再次访问该页面; 错误: Description The server encountered an unexpected condition that prevented it from fulfilling the request. Exception org.springframework.web.util.N...

一只不知疲倦的学习猿 10万+

Request processing failed; nested exception is java.lang.IllegalStateException: Optional int paramet

servelt运行页面报错500原因以及解决方案

m0_73379880的博客 1万+

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is

希望我这里可以帮助你,我出现这个bug真的是找了好久. 出现这个问题检查你的注解@Param是否标注,还有最重要的是检查你注解是来自哪个包下面的... 记住是这个包下面的!!!我就是导成feign包下面的.还一点提示也没有了… ...

weixin_46351306的博客 449

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is ...

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.jboss.rest...

Jinyao的博客 974

Spring Validation 接口入参校验

JSR 是 Java Specification Requests 的缩写,含义为 JAVA 规范提案。JSR 303 - Bean Validation 规范, 正是一套基于 JavaBean 参数校验的标准。Hibernate Validator 是 JSR 303 的实现,它提供了 JSR 303 规范中所有约束(constraint)的实现,同时也对其作出一些拓展。

原名:@程序员大禹 2282

学习技术概要

1.实体类注解 @NotNull:不能为null,但可以为empty @NotEmpty:不能为null,而且长度必须大于0 @NotBlank:只能作用在String上,不能为null,而且调用trim()后,长度必须大于0 注意在使用@NotBlank等注解时,一定要和@valid一起使用,不然@NotBlank不起作用 2.定时器 要实现计划任务,首先通过在配置类注解@EnableScheduling来开启对计划任务的支持,然后在要执行计划任务的方法上注解@Scheduled,声明这是一个计

Mr___Lr的博客 327

java中简单的交验 判断日期格式是否正确

/**    * Check Date Format    * @param date:你想交验的对象    * @param dateFormat:你想交验的日期格式 "yyyy/MM"    * @return    */   public boolean isDateStringValid(String date,String dateFormat)    {       SimpleDat...

toshi2002的专栏 306

No validator could be found for constraint ‘javax.validation.constraints.NotBlank‘ validating type ‘

报错 No validator could be found for constraint ‘javax.validation.constraints.NotBlank’ validating type ‘java.lang.Integer’. Check configuration for ‘state’ Not 注解 @NotNull 不能为 null,但可以为 empty,一般用在Integer 类型的基本数据类型的非空校验上,而且被其标注的字段可以使用 @size、@Max、@Min 对字段数

qq_40813329的博客 1万+

@NotBlank注解String字段会报错

@NotEmpty、@NotBlank、@NotNull 的区别它们所在的包:javax.validation.constraints.NotEmpty、javax.validation.constraints.NotBlank 、javax.validation.constraints.NotNull 适用于基本数据类型(Integer,Long,Double等等),当 @NotNull 注解被使用在 String 类型的数据上,则表示该数据不

涛哥是个大帅比 5023

判断数据类型是否为空

判断Date类型是否为空 Date date=…… //实例化 if(date==null) 判断String类型是否为空 方法一:是我所知道的效率的最高的,也是最常用的方法。 if(s == null || s.length() <= 0) 方法二:也是最常看到的一种方法,但是效率很低。 if(s == null || s.equals("")) 方法三:是使用一种方法来判断,看上去很高端的样子,效率不明。 if(StringUtils.isBlank(s)) 方法四:是在Jav

罐头的零食罐 1325
上一篇: Mybatis开发遇错
下一篇: 一点小思考
Even_Chou_Even
博客等级 码龄8年 5粉丝 16原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值