【发布时间】:2015-02-26 15:42:35
【问题描述】:
我的请求对象中有一个 joda datetime 属性,并且我使用 @DateTimeFormat 进行日期格式设置。
但是当我输入一个无效的日期(比如 55 天)时,它会显示整个消息
无法将 java.lang.String 类型的属性值转换为属性 request.myDate 所需的类型 org.joda.time.DateTime;嵌套异常是 org.springframework.core.convert.ConversionFailedException: Unable to convert value "55/12/2014" from type java.lang.String to type org.joda.time.DateTime;嵌套异常是 org.joda.time.IllegalFieldValueException:无法解析“55/12/2014”:dayOfMonth 的值 55 必须在 [1,31] 范围内
如何将其更改为自定义消息,因为当前消息是由 Spring 生成的。
在另一个 SO 问题中
Spring mvc Joda Datetime converter fail if invalid date
它被要求在 message.properties 中输入。
但是我无法理解它将如何从属性文件中选择消息,因为我没有做任何error.rejectValue 类型的事情,那么如何识别消息。
【问题讨论】:
-
这个问题不是stackoverflow.com/questions/6539884/…的重复,但是上一个问题解决不了我的问题
-
您链接到的答案中的方法应该有效,除非您需要使用密钥
typeMismatch.org.joda.time.DateTime。 Spring 会知道使用此消息,因为它会在配置的消息源中查找typeMismatch. + fullyQualifiedClassName消息。 -
@BohuslavBurghardt..非常感谢。它有效
-
我根据评论发布了一个答案并添加了更详细的信息:)
标签: spring spring-mvc datetime jodatime