程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Spring MVC-无效日期的Joda datetime错误消息大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Spring MVC-无效日期的Joda datetime错误消息?

开发过程中遇到Spring MVC-无效日期的Joda datetime错误消息的问题如何解决?下面主要结合日常开发的经验,给出你关于Spring MVC-无效日期的Joda datetime错误消息的解决方法建议,希望对你解决Spring MVC-无效日期的Joda datetime错误消息有所启发或帮助;

您在问题中链接的方法应该有效。但是您应该使用的消息密钥例如typeMismatch.org.joda.time.DateTime

即使您没有在任何地方手动拒绝该值,Spring也会根据JavaDoc中描述的规则自动知道在哪里寻找消息DefaultMessageCodesResolver

在您描述的情况下,Spring将专门查找以下代码:

  1. typeMismatch.request.myDate -在名为“ request”的对象上的名为“ myDate”的属性的转换消息
  2. typeMismatch.myDate -名为myDate的属性的转换消息
  3. typeMismatch.org.joda.time.DateTime -DateTime类型的转换消息
  4. typeMismatch -常规转换错误消息

因此,您可以定义一些常规typeMismatch消息,例如“ 不正确的格式” ,然后根据需要定义更具体的消息。更具体的错误代码比其下方的优先级更高。因此,如果您同时定义了typeMismatchtypeMismatch.org.joda.time.DateTime消息,则将使用后者。

解决方法

我的datetime请求对象中有一个joda 属性,并且已用于 @DateTimeFormat日期格式化。
但是,当我输入无效的日期(例如,日期为55)时,它将显示整个消息

无法将java.lang.String类型的属性值转换为属性request.myDate所需的org.joda.time.DateTime类型;
嵌套的异常是org.springframework.core.convert.ConversionFailedException:无法将值“
55/12/2014”从java.lang.String类型转换为org.joda.time.DateTime类型;嵌套的异常是org.joda.time.IllegalFieldValueException:无法解析“55/12/2014”:dayOfMonth的值55必须在[1,31]范围内

我如何将其更改为自定义消息,因为当前消息是由Spring生成的。

但是由于我没有做任何error.rejectValue事情,所以我无法理解它将如何从属性文件中选择消息,因此如何识别消息。

大佬总结

以上是大佬教程为你收集整理的Spring MVC-无效日期的Joda datetime错误消息全部内容,希望文章能够帮你解决Spring MVC-无效日期的Joda datetime错误消息所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: