【发布时间】:2011-09-26 06:16:56
【问题描述】:
我有一个我想从包含 Joda DateTime 的 JSP 映射的域对象:
public beanClass{
private Long id;
@DateTimeFormat
private DateTime start;
getters and setters...
}
我在 Spring 中注册了以下转换器:
final class StringToJodaDateTimeConverter<S, T> implements Converter<String, DateTime> {
private static final DateTimeFormatter fmt = DateTimeFormat.forPattern("MM/dd/yyyy");
public DateTime convert(String in) {
try{
return fmt.parseDateTime(in);
}catch(Exception e){
throw new IllegalArgumentException("Invalid date");
}
}
}
Spring 显然在我的验证器类之前命中了转换器,并将用完整的错误填充我的错误消息
无法将 java.lang.String 类型的属性值转换为属性 sampleDate 所需的类型 org.joda.time.DateTime;嵌套异常是 org.springframework.core.convert.ConversionFailedException: Unable to convert value "asdf" from type java.lang.String to type org.joda.time.DateTime;嵌套异常是 java.lang.IllegalArgumentException: Invalid date
我想要的是从异常中获取“无效日期”消息。
有没有办法让异常消息“无效日期”而不是全部显示?
【问题讨论】:
标签: java spring validation