我正在使用Spring 3.1.1.RELEASE。我想在我的模型的java.util.Date字段中自定义为无效日期格式显示的错误消息。这是模型......
public class ContractForm
{
…
private Date activationDate;
private Date expirationDate;
…
}
我在我的属性包中设置了这个...
typeMismatch.ContractForm.activationDate=The activation date format should be of the form MM/dd/yyyy
typeMismatch.ContractForm.expirationDate=The expiration date format should be of the form MM/dd/yyyy
我在我的控制器中注册了一个自定义的java.util.Date编辑器......
@InitBinder
public void initBinder(WebDataBinder binder) {
final DateFormat dateFormat = new SimpleDateFormat(Contract.DATE_FORMAT);
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
...
}
然而,当我提交带有无效日期的表单时,我没有得到我想要的错误消息,而是得到类似“无法将java.lang.String类型的属性值转换为必需类型java.util”之类的内容。物业激活日期;嵌套异常是java.lang.IllegalArgumentException:无法解析日期:Unparseable date:“02012013”'
如何获得所需的错误消息?