如何在Spring 3中自定义无效日期格式的错误消息?

时间:2013-02-20 18:56:28

标签: spring date validation message

我正在使用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”​​'

如何获得所需的错误消息?

0 个答案:

没有答案