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验证对时间进行工详细的控制。

评论