use*_*144 5 java spring date spring-mvc
我有一个表单字段,应将其转换为Date对象,如下所示:
<form:input path="date" />
Run Code Online (Sandbox Code Playgroud)
我需要通过以下方式进行验证:
如果用户将此字段留空。我需要设置一些默认日期。
如果用户设置了不可接受的格式,我需要提出一个错误。
问题是我可以满足第一或第二要求。
解决这个问题有什么好的办法吗?
当我不得不面对这样的问题时,我就会颠倒逻辑。我没有将默认值设置为空字段,但我在操作的渲染部分中使用默认值预加载该字段。因此,我可以安全地验证,@DateTimeFormat(pattern="dd-MMM-yyyy")因为空字段假设用户故意删除了默认值,这是一个错误。
因此,恕我直言,您应该在该表单的控制器的 GET 部分中设置默认值,并坚持使用简单的@DateTimeFormat(pattern="dd-MMM-yyyy")注释。
我有一个使用@ModelAttribute包含日期字段的带注释对象的应用程序。在对象类中,日期字段在 getter 和 setter 上用 进行注释DateTimeFormat(pattern="dd/MM/yyyy")。Spring (3.2.4) 接受日期字段的空值,只需将其设置为 null。所以你应该使用@DateTimeFormat(pattern="dd-MMM-yyyy")并且仍然能够接受空值。