Java 使用SpringMVC、JSR303注释将表单binidg转换为bean时出现异常

Java 使用SpringMVC、JSR303注释将表单binidg转换为bean时出现异常,java,spring,spring-mvc,bean-validation,datetime-format,Java,Spring,Spring Mvc,Bean Validation,Datetime Format,我有一个spring表单:jsp中的input标记接受日期 <form:input type="text" id="fromDate" path="fromDate" /> 当用户以“MM/dd/yyyy”格式输入日期时,我没有得到任何异常,并且该值被正确地设置为bean变量 但是,当用户以不同格式输入日期(例如:23/12/2012)或无效日期(例如:060412009324092014)时,我会得到以下异常 无法将java.lang.String类型的属性值转换为属性fromD

我有一个spring表单:jsp中的input标记接受日期

<form:input type="text" id="fromDate" path="fromDate" />
当用户以“MM/dd/yyyy”格式输入日期时,我没有得到任何异常,并且该值被正确地设置为bean变量

但是,当用户以不同格式输入日期(例如:23/12/2012)或无效日期(例如:060412009324092014)时,我会得到以下异常

无法将java.lang.String类型的属性值转换为属性fromDate所需的java.util.Date类型;嵌套异常为org.springframework.core.convert.ConversionFailedException:未能将值060412009324092014的java.lang.String类型转换为@javax.validation.constraints.NotNull@javax.validation.constraints.pass@org.springframework.format.annotation.DateTimeFormat java.util.Date类型;嵌套异常为java.lang.IllegalArgumentException:无法分析060412009324092014

请帮助在页面上显示有效消息,而不是异常

谢谢
Mike

我可以通过使用以下属性来解决此问题

typeMismatch.bean.fromDate=起始日期无效

谢谢
标记。

看看异常是怎么说的:
无法解析060412009324092014
这是作为字符串传递的吗?字符串应为
MM/dd/yyyy
格式。检查传递的字符串。由于它位于网页上,因此无法控制用户输入的内容。如果输入的值不正确,则要验证输入并显示错误消息。好的,在这种情况下,它应该显示错误,使用
BindingResult BindingResult
验证表单,并在控制器方法中调用
BindingResult.hasErrors()
。我将在哪里验证表单?执行永远不会进入控制器,因为在此之前会发生输入数据绑定,并引发异常。请显示控制器代码。。。
@NotNull
@Past
@DateTimeFormat(pattern = "MM/dd/yyyy")
private Date fromDate;