【发布时间】:2009-08-17 18:13:32
【问题描述】:
谁能告诉我如何检查 Struts 2 validation.xml 中的开始日期 > 结束日期
【问题讨论】:
标签: java validation struts2
谁能告诉我如何检查 Struts 2 validation.xml 中的开始日期 > 结束日期
【问题讨论】:
标签: java validation struts2
如果您使用 java.util.Date 对象,这对我有用。
<validator type="expression">
<param name="expression"><![CDATA[
startDate.time < endDate.time
]]></param>
<message>Start Date must be after End Date</message>
</validator>
【讨论】:
我认为您可以使用 OGNL expression validator 做到这一点。比如:
<validator type="expression">
<param name="expression">startDate.before(endDate)</param>
<message>Start Date must be after End Date</message>
</validator>
【讨论】:
由于您要对两个字段执行验证,因此一种方法是创建一个自定义验证器,该验证器对包含开始和结束日期的整个对象(例如用户)进行操作,而不是单独验证字段。然后你可以在那里做一些简单的日期比较算法。
他们使用的通用术语是非字段验证(或域验证),涵盖here
source code for the Manning book Struts 2 in Action 第 10 章中有一个很好的例子。
【讨论】:
你知道Hibernate Validator Framework吗?这是一个很棒的基于注释的验证框架。
还有一个适用于 Struts2 的插件:
完全休眠插件:http://cwiki.apache.org/S2PLUGINS/full-hibernate-plugin.html
【讨论】: