2

我正在使用 Spring 3.1.1.RELEASE。我想在我的模型的 java.util.Date 字段中自定义为无效日期格式显示的错误消息。这是模型……</p>

public class ContractForm
{
    …
    private Date activationDate;

    private Date expirationDate;

    …

}

我的属性包中有这个设置……</p>

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 编辑器……</p>

@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.Date 类型的属性激活日期;嵌套异常是 java.lang.IllegalArgumentException:无法解析日期:无法解析的日期:“02012013”​​'

如何获得我想要的错误信息?

4

0 回答 0