正文

Validator 验证 - 完整的举例2007-03-13 11:04:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/hurongliang/23925.html

分享到:

n   struts-config.xml:

    <action

      attribute="checkForm"

      name="checkForm"

      input="/validate/error.jsp"

      path="/validate/check"

      scope="request"

      type="cn.rolia.struts.action.validate.CheckAction">

      <forward name="success" path="/validate/success.jsp" />

    </action>

    <form-bean name="checkForm" type="org.apache.struts.validator.DynaValidatorForm">

      <form-property name="zipCode" type="java.lang.String" />

      <form-property name="province" type="java.lang.String" />

      <form-property name="city" type="java.lang.String" />

    </form-bean>

n  CheckAction.java:

    public ActionForward execute(ActionMapping mapping, ActionForm form,

           HttpServletRequest request, HttpServletResponse response) {

       DynaValidatorForm checkForm = (DynaValidatorForm) form;// TODO Auto-generated method stub

       return mapping.findForward("success");

    }

}

n  ApplicationResources.properties:

prompt.zipCode= zipCode

errors.required={0} is required.

/validate/error.jsp:

  <body>

    <html:errors/><br>

  </body>

n  /validate/input.jsp:

      <html:form action="/validate/check">

        <table>

          <tr>

            <td>所在省</td><td><html:text property="province"></html:text></td>

          </tr>

          <tr>

            <td>所在市</td><td><html:text property="city"></html:text></td>

          </tr>

          <tr>

            <td>邮政编码</td><td><html:text property="zipCode"></html:text></td>

          </tr>

          <tr>

            <td><html:submit value="提交"/></td><td><html:reset value="清除"/></td>

          </tr>

        </table>

      </html:form>

n  /validate/success.jsp:

  <body>

  success<br>

    <bean:write name="checkForm" property="zipCode"/><br>

  </body>

validation.xml:

        <form name="checkForm">

           <field property="zipCode" depends="validwhen">

                <arg0 key="prompt.zipCode"/>

                <var>

                     <var-name>

                     test

                 </var-name>

                     <var-value>

                         (((city != null) and (province != null)) or (*this* != null))

                     </var-value>

                </var>

           </field>

       </form>

n  indexedListProperty

时间验证 date

希望验证一个时间字段是否符合某个特定的格式时使用date验证规则。如:

<field property="date1" depends="date">

    <arg key="Date1" resource="false"/>

    <var>

        <var-name>datePattern</var-name>

        <var-value>MM/dd/yyyy</var-value>

    </var>

</field>

 

<field property="date2" depends="date">

    <arg key="Date2" resource="false"/>

    <var>

        <var-name>datePatternStrict</var-name>

        <var-value>MM/dd/yyyy</var-value>

    </var>

</field>

 

<field property="dateTime" depends="date">

    <arg key="DateTime" resource="false"/>

    <var>

        <var-name>datePattern</var-name>

        <var-value>MM/dd/yy HH:mm</var-value>

    </var>

</field>

datePattern变量通过使用java.text.SimpleDateFormat指定字段的格式。

如果SimpleDateFormat能将字段值转换为日期格式,则验证通过,否则验证失败。

datePatternStrict要求字段值的长度要与模式的长度相同。

如模式为MM/dd/yyyy,则字段值5/10/1963代表May 10, 1963。如果使用datePattern则验证通过。如果使用datePatternStrict则验证不通过,因为也的部分是一个数字而不是格式指定的两个。

你可以使用mask验证对时间进行工详细的控制。

阅读(2628) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册