我正在使用hibernate验证器来验证我的表单。 我有#34;问题"第14个月的第9个月成为第二个月的第二个月。 (仅举例说明一个场景)。
我想知道如何阻止默认转换,而是显示自定义错误消息。
如果我的自定义编辑器抛出IllegalArgumentException,是否有人也知道如何显示一条赞成消息?
@InitBinder
public void initBinder(WebDataBinder binder) {
CustomDateEditor editor = new CustomDateEditor(new SimpleDateFormat("dd/MM/yyyy"), true);
binder.registerCustomEditor(Date.class, editor);
}
我注册了一个customEditor,因为spring-portlet-mvc在绑定方面存在一些问题。
答案 0 :(得分:2)
此行为由DateFormat.setLenient()
控制,与验证无关(使用setLentient(false)
它会在绑定阶段产生类型不匹配错误):
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
df.setLenient(false);
CustomDateEditor editor = new CustomDateEditor(df, true);
binder.registerCustomEditor(Date.class, editor);