【发布时间】:2014-07-26 00:43:37
【问题描述】:
我有一个表单域,应该转换为 Date 对象,如下:
<form:input path="date" />
并且我需要通过以下方式进行验证:
如果用户将此字段留空。我需要设置一些默认日期。
如果用户以不可接受的格式输入,我需要显示错误。
问题是我可以满足第一个或第二个要求。
- 我可以注册PropertyEditor,如果日期不可接受,则设置为空,如果此字段为空,请设置一些默认日期。但是使用这种方法,我无法满足第二个要求,因为如果我将其转换为 null,我将无法向用户注册第二个错误。
- 我可以设置 @DateTimeFormat(pattern="dd-MMM-yyyy") 注释并提供适当的 typeMismatch 错误,但当用户在此字段中留空值时仍会返回此错误。
这样的问题有什么好的解决办法吗?
【问题讨论】:
-
你确定你只有 @DateTimeFormat(pattern="dd-MMM-yyyy") 并且它在 getter/setter 上吗?因为我确实使用了该注释并且它接受空字段(Spring 3.2.4)
-
这个字段是否作为“”传递?
-
使用日期选择器,并强制格式化
-
在我的应用程序中,我设法窥探了请求的内容。该字段作为
name=&传递,这是一个空值,我在我的对象中将它作为 null (完整对象注释为@ModelAttribute)
标签: java spring date spring-mvc