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