【问题标题】:Struts 2 validationStruts 2 验证
【发布时间】:2009-08-17 18:13:32
【问题描述】:

谁能告诉我如何检查 Struts 2 validation.xml 中的开始日期 > 结束日期

【问题讨论】:

    标签: java validation struts2


    【解决方案1】:

    如果您使用 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>
    

    【讨论】:

      【解决方案2】:

      我认为您可以使用 OGNL expression validator 做到这一点。比如:

         <validator type="expression">
           <param name="expression">startDate.before(endDate)</param>
           <message>Start Date must be after End Date</message>
         </validator>
      

      【讨论】:

        【解决方案3】:

        由于您要对两个字段执行验证,因此一种方法是创建一个自定义验证器,该验证器对包含开始和结束日期的整个对象(例如用户)进行操作,而不是单独验证字段。然后你可以在那里做一些简单的日期比较算法。

        他们使用的通用术语是非字段验证(或域验证),涵盖here

        source code for the Manning book Struts 2 in Action 第 10 章中有一个很好的例子。

        【讨论】:

          【解决方案4】:

          你知道Hibernate Validator Framework吗?这是一个很棒的基于注释的验证框架。

          还有一个适用于 Struts2 的插件:

          完全休眠插件http://cwiki.apache.org/S2PLUGINS/full-hibernate-plugin.html

          【讨论】:

            猜你喜欢
            • 2023-03-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-07-23
            • 1970-01-01
            相关资源
            最近更新 更多