【问题标题】:Spring Conversion Error displays internal exception over validatorSpring Conversion Error 在验证器上显示内部异常
【发布时间】:2016-02-26 15:02:28
【问题描述】:
所以在我的 Spring 应用程序中,我有一个文本字段可以转换为模型中的日期,并且 feild 使用 jquery datepicker。如果您手动输入一个也可以使用的日期,但是当您输入错误的日期时,一些奇怪的事情就会开始发生。我的验证器会发现大部分错误并显示自定义错误消息,但是当月份为 0 或日期高于该月的最后一天时,它会在表单中的字段下显示以下错误
但是当你犯了大多数错误,比如当月变高时,我的验证器会处理它,但是如果天高或月份低,验证器就会被 Springs 内部异常压倒。
有什么方法可以在不使用 javascript 和不使用日期类型的情况下自定义此错误消息?日期类型可能是最简单的解决方案,但它与我使用的日期选择器混淆。
【问题讨论】:
标签:
java
spring
exception-handling
type-conversion
【解决方案1】:
我通过制作一个属性文件并使用 typeMismatch 解决了这个问题。下面是部分代码
在 i18n 文件夹中,我创建了一个 text.properties,然后使用了以下
<beans:bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<beans:property name="basename" value="classpath:i18n/text" />
<beans:property name="defaultEncoding" value="UTF-8" />
</beans:bean>
在这之后我添加了一行
typeMismatch.creationDate =Invalid Date format. Please use mm/dd/yyyy and make sure numbers are valid
进入 text.properties 文件。这将 Spring 抛出的错误更改为我指定的错误