org.springframework.validation.BindException: org.springframework.

本文详细解析了Spring框架中由于前端传递的日期字符串与后端期望的日期格式不匹配导致的数据验证失败问题。通过注册自定义日期编辑器,成功解决了类型转换异常,确保了前后端日期数据的正确交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

错误信息:

org.springframework.validation.BindException: org.springframework.validation.BeanPropertyBindingResult: 2 errors
Field error in object 'student' on field 'create_date': rejected value [2018-10-13]; codes [typeMismatch.student.create_date,typeMismatch.create_date,typeMismatch.java.util.Date,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [student.create_date,create_date]; arguments []; default message [create_date]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'create_date'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.util.Date] for value '2018-10-13'; nested exception is java.lang.IllegalArgumentException]

错误原因: 

spring框架数据验证失败,前端页面发送过来的日期类型数据为String型,而数据库中接收的类型为datetime型,可能就会报以下错误。

解决方法:在控制器中加上该方法,问题搞定

//当前端页面传过来的的String类型的日期与后台实体类的Date类型不匹配时,需要加上该方法
			@InitBinder
			public void init(WebDataBinder binder) {
				binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"), true));
			}

 

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值