dwinterfeldt 02/03/18 19:31:51 Added: web/validator index.jsp jsRegistration.jsp jsType.jsp multiRegistration1.jsp multiRegistration2.jsp registration.jsp staticJavascript.jsp type.jsp web/validator/WEB-INF struts-config.xml validation.xml web.xml Log: Initial checkin for validator example webapp. Revision Changes Path 1.1 jakarta-struts/web/validator/index.jsp Index: index.jsp =================================================================== <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html locale="true"> <head> <title><bean:message key="index.title"/></title> <html:base/> </head> <body bgcolor="white"> <logic:notPresent name="org.apache.struts.action.MESSAGE" scope="application"> <font color="red"> ERROR: Application resources not loaded -- check servlet container logs for error messages. </font> </logic:notPresent> <logic:notPresent name="org.apache.commons.validator.VALIDATOR_RESOURCES" scope="application"> <font color="red"> ERROR: Validator resources not loaded -- check Commons Logging logs for error messages. </font> </logic:notPresent> <h3><bean:message key="registrationForm.title"/></h3> <ul> <li><html:link page="/registration.jsp"><bean:message key="registrationForm.title"/></html:link></li> <li> <html:link page="/jsRegistration.jsp"><bean:message key="jsRegistrationForm.title"/></html:link> - <bean:message key="jsRegistrationForm.description"/> </li> <li> <html:link page="/multiRegistration1.jsp"><bean:message key="multiRegistrationForm.title"/></html:link> - <bean:message key="multiRegistrationForm.description"/> </li> </ul> <p> </p> <h3><bean:message key="typeForm.title"/></h3> <ul> <li> <html:link page="/type.jsp"><bean:message key="typeForm.title"/></html:link> - <bean:message key="typeForm.description"/> </li> <li> <html:link page="/jsType.jsp"><bean:message key="jsTypeForm.title"/></html:link> - <bean:message key="jsTypeForm.description"/> </li> </ul> <p> </p> <h3>Change Language | Changez Le Langage</h3> <ul> <li><html:link page="/locale.do?language=en">English | Anglais</html:link></li> <li> <html:link page="/locale.do?language=fr">French | Francais</html:link> - <bean:message key="localeForm.fr"/> </li> <li> <html:link page="/locale.do?language=fr&country=CA">French Canadian | Francais Canadien</html:link> - <bean:message key="localeForm.frCA"/> </li> </ul> <p> </p> <html:img page="/struts-power.gif" altKey="index.powered"/> </body> </html:html> 1.1 jakarta-struts/web/validator/jsRegistration.jsp Index: jsRegistration.jsp =================================================================== <%@ page language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html> <head> <title><bean:message key="registrationForm.title"/></title> <html:base/> </head> <body bgcolor="white"> <logic:messagesPresent> <bean:message key="errors.header"/> <ul> <html:messages id="error"> <li><bean:write name="error"/></li> </html:messages> </ul><hr> </logic:messagesPresent> <html:form action="registration" onsubmit="return validateRegistrationForm(this);"> <html:hidden property="action"/> <table border="0" width="100%"> <tr> <th align="left"> <bean:message key="registrationForm.firstname.displayname"/> </th> <td align="left"> <html:text property="firstName" size="30" maxlength="30"/> </td> </tr> <tr> <th align="left"> <bean:message key="registrationForm.lastname.displayname"/> </th> <td align="left"> <html:text property="lastName" size="60" maxlength="60"/> </td> </tr> <tr> <th align="left"> <bean:message key="registrationForm.addr.displayname"/> </th> <td align="left"> <html:textarea property="addr" cols="40" rows="5"/> </td> </tr> <tr> <th align="left"> <bean:message key="registrationForm.city.displayname"/> </th> <td align="left"> <html:text property="cityStateZip.city" size="60" maxlength="60"/> </td> </tr> <tr> <th align="left"> <bean:message key="registrationForm.stateprov.displayname"/> </th> <td align="left"> <html:text property="cityStateZip.stateProv" size="60" maxlength="60"/> </td> </tr> <tr> <th align="left"> <bean:message key="registrationForm.zippostal.displayname"/> </th> <td align="left"> <html:text property="cityStateZip.zipPostal[1]" size="25" maxlength="25"/> </td> </tr> <tr> <th align="left"> <bean:message key="registrationForm.phone.displayname"/> </th> <td align="left"> <html:text property="phone" size="20" maxlength="20"/> </td> </tr> <tr> <th align="left"> <bean:message key="registrationForm.email.displayname"/> </th> <td align="left"> <html:text property="email" size="60" maxlength="60"/> </td> </tr> <tr colspan="1"> <td> <html:submit property="submit" onclick="bCancel=false;"> <bean:message key="button.save"/> </html:submit> <html:reset> <bean:message key="button.reset"/> </html:reset> <html:cancel onclick="bCancel=true;"> <bean:message key="button.cancel"/> </html:cancel> </td> </tr> </table> </html:form> <%-- Referencing the registrationForm since they are identical so I don't need a separate validation.xml listing just for this form. --%> <html:javascript formName="registrationForm"/> </body> </html:html> 1.1 jakarta-struts/web/validator/jsType.jsp Index: jsType.jsp =================================================================== <%@ page language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html> <head> <title><bean:message key="typeForm.title"/></title> <html:base/> </head> <body bgcolor="white"> <logic:messagesPresent> <bean:message key="errors.header"/> <ul> <html:messages id="error"> <li><bean:write name="error"/></li> </html:messages> </ul><hr> </logic:messagesPresent> <html:form action="jsType" onsubmit="return validateJsTypeForm(this);"> <html:hidden property="action"/> <table border="0"> <tr> <th align="left"> <bean:message key="typeForm.byte.displayname"/> </th> <td align="left"> <html:text property="byte" size="15" maxlength="15"/> </td> </tr> <tr> <th align="left"> <bean:message key="typeForm.short.displayname"/> </th> <td align="left"> <html:text property="short" size="15" maxlength="15"/> </td> </tr> <tr> <th align="left"> <bean:message key="typeForm.integer.displayname"/> </th> <td align="left"> <html:text property="integer" size="15" maxlength="15"/> </td> </tr> <%-- <tr> <th align="left"> <bean:message key="typeForm.long.displayname"/> </th> <td align="left"> <html:text property="long" size="15" maxlength="15"/> </td> </tr> --%> <tr> <th align="left"> <bean:message key="typeForm.float.displayname"/> </th> <td align="left"> <html:text property="float" size="15" maxlength="15"/> </td> </tr> <%-- <tr> <th align="left"> <bean:message key="typeForm.double.displayname"/> </th> <td align="left"> <html:text property="double" size="15" maxlength="15"/> </td> </tr> --%> <tr> <th align="left"> <bean:message key="typeForm.date.displayname"/> </th> <td align="left"> <html:text property="date" size="15" maxlength="15"/> </td> </tr> <tr> <th align="left"> <bean:message key="typeForm.creditCard.displayname"/> </th> <td align="left"> <html:text property="creditCard" size="16" maxlength="16"/> </td> </tr> <tr> <td> <html:submit property="submit" onclick="bCancel=false;"> <bean:message key="button.save"/> </html:submit> <html:reset> <bean:message key="button.reset"/> </html:reset> <html:cancel onclick="bCancel=true;"> <bean:message key="button.cancel"/> </html:cancel> </td> </tr> </table> </html:form> <html:javascript formName="jsTypeForm" dynamicJavascript="true" staticJavascript="false"/> <%-- This wouldn't work right in IE 5.0 when I made the source an attribute of the tag ??? --%> <SCRIPT LANGUAGE="Javascript1.1" src="staticJavascript.jsp"></script> </body> </html:html> 1.1 jakarta-struts/web/validator/multiRegistration1.jsp Index: multiRegistration1.jsp =================================================================== <%@ page language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html> <head> <title><bean:message key="registrationForm.title"/></title> <html:base/> </head> <body bgcolor="white"> <logic:messagesPresent> <bean:message key="errors.header"/> <ul> <html:messages id="error"> <li><bean:write name="error"/></li> </html:messages> </ul><hr> </logic:messagesPresent> <html:form action="multiRegistration" onsubmit="return validateMultiRegistrationForm(this);"> <html:hidden property="action"/> <html:hidden property="page" value="1"/> <table border="0" width="100%"> <tr> <th align="left"> <bean:message key="registrationForm.firstname.displayname"/> </th> <td align="left"> <html:text property="firstName" size="30" maxlength="30"/> </td> </tr> <tr> <th align="left"> <bean:message key="registrationForm.lastname.displayname"/> </th> <td align="left"> <html:text property="lastName" size="60" maxlength="60"/> </td> </tr> <tr> <th align="left"> <bean:message key="registrationForm.addr.displayname"/> </th> <td align="left"> <html:textarea property="addr" cols="40" rows="5"/> </td> </tr> <tr> <th align="left"> <bean:message key="registrationForm.city.displayname"/> </th> <td align="left"> <html:text property="cityStateZip.city" size="60" maxlength="60"/> </td> </tr> <tr> <td> <html:submit property="submit" onclick="bCancel=false;"> <bean:message key="button.save"/> </html:submit> <html:reset> <bean:message key="button.reset"/> </html:reset> <html:cancel onclick="bCancel=true;"> <bean:message key="button.cancel"/> </html:cancel> </td> </tr> </table> </html:form> <html:javascript formName="multiRegistrationForm" page="1"/> </body> </html:html> 1.1 jakarta-struts/web/validator/multiRegistration2.jsp Index: multiRegistration2.jsp =================================================================== <%@ page language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html> <head> <title><bean:message key="registrationForm.title"/></title> <html:base/> </head> <body bgcolor="white"> <logic:messagesPresent> <bean:message key="errors.header"/> <ul> <html:messages id="error"> <li><bean:write name="error"/></li> </html:messages> </ul><hr> </logic:messagesPresent> <html:form action="multiRegistration" onsubmit="return validateMultiRegistrationForm(this);"> <html:hidden property="action"/> <html:hidden property="page" value="2"/> <html:hidden property="firstName"/> <html:hidden property="lastName"/> <html:hidden property="addr"/> <html:hidden property="cityStateZip.city"/> <table border="0" width="100%"> <tr> <th align="left"> <bean:message key="registrationForm.stateprov.displayname"/> </th> <td align="left"> <html:text property="cityStateZip.stateProv" size="60" maxlength="60"/> </td> </tr> <tr> <th align="left"> <bean:message key="registrationForm.zippostal.displayname"/> </th> <td align="left"> <html:text property="cityStateZip.zipPostal[1]" size="25" maxlength="25"/> </td> </tr> <tr> <th align="left"> <bean:message key="registrationForm.phone.displayname"/> </th> <td align="left"> <html:text property="phone" size="20" maxlength="20"/> </td> </tr> <tr> <th align="left"> <bean:message key="registrationForm.email.displayname"/> </th> <td align="left"> <html:text property="email" size="60" maxlength="60"/> </td> </tr> <tr> <td> <html:submit property="submit" onclick="bCancel=false;"> <bean:message key="button.save"/> </html:submit> <html:reset> <bean:message key="button.reset"/> </html:reset> <html:cancel onclick="bCancel=true;"> <bean:message key="button.cancel"/> </html:cancel> </td> </tr> </table> </html:form> <html:javascript formName="multiRegistrationForm" page="2"/> </body> </html:html> 1.1 jakarta-struts/web/validator/registration.jsp Index: registration.jsp =================================================================== <%@ page language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html> <head> <title><bean:message key="registrationForm.title"/></title> <html:base/> </head> <body bgcolor="white"> <logic:messagesPresent> <bean:message key="errors.header"/> <ul> <html:messages id="error"> <li><bean:write name="error"/></li> </html:messages> </ul><hr> </logic:messagesPresent> <html:form action="registration"> <html:hidden property="action"/> <table border="0" width="100%"> <tr> <th align="left"> <bean:message key="registrationForm.firstname.displayname"/> </th> <td align="left"> <html:text property="firstName" size="30" maxlength="30"/> </td> </tr> <tr> <th align="left"> <bean:message key="registrationForm.lastname.displayname"/> </th> <td align="left"> <html:text property="lastName" size="60" maxlength="60"/> </td> </tr> <tr> <th align="left"> <bean:message key="registrationForm.addr.displayname"/> </th> <td align="left"> <html:textarea property="addr" cols="40" rows="5"/> </td> </tr> <tr> <th align="left"> <bean:message key="registrationForm.city.displayname"/> </th> <td align="left"> <html:text property="cityStateZip.city" size="60" maxlength="60"/> </td> </tr> <tr> <th align="left"> <bean:message key="registrationForm.stateprov.displayname"/> </th> <td align="left"> <html:text property="cityStateZip.stateProv" size="60" maxlength="60"/> </td> </tr> <tr> <th align="left"> <bean:message key="registrationForm.zippostal.displayname"/> </th> <td align="left"> <html:text property="cityStateZip.zipPostal[1]" size="25" maxlength="25"/> </td> </tr> <tr> <th align="left"> <bean:message key="registrationForm.phone.displayname"/> </th> <td align="left"> <html:text property="phone" size="20" maxlength="20"/> </td> </tr> <tr> <th align="left"> <bean:message key="registrationForm.email.displayname"/> </th> <td align="left"> <html:text property="email" size="60" maxlength="60"/> </td> </tr> <tr> <td> <html:submit property="submit"> <bean:message key="button.save"/> </html:submit> <html:reset> <bean:message key="button.reset"/> </html:reset> <html:cancel> <bean:message key="button.cancel"/> </html:cancel> </td> </tr> </table> </html:form> </body> </html:html> 1.1 jakarta-struts/web/validator/staticJavascript.jsp Index: staticJavascript.jsp =================================================================== <%@ page language="java" %> <%-- set document type to Javascript (addresses a bug in Netscape according to a web resource --%> <%@ page contentType="application/x-javascript" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <html:javascript dynamicJavascript="false" staticJavascript="true"/> 1.1 jakarta-struts/web/validator/type.jsp Index: type.jsp =================================================================== <%@ page language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <html:html> <head> <title><bean:message key="typeForm.title"/></title> <html:base/> </head> <body bgcolor="white"> <logic:messagesPresent> <bean:message key="errors.header"/> <ul> <html:messages id="error"> <li><bean:write name="error"/></li> </html:messages> </ul><hr> </logic:messagesPresent> <html:form action="type"> <html:hidden property="action"/> <table border="0"> <tr> <th align="left"> <bean:message key="typeForm.byte.displayname"/> </th> <td align="left"> <html:text property="byte" size="15" maxlength="15"/> </td> </tr> <tr> <th align="left"> <bean:message key="typeForm.short.displayname"/> </th> <td align="left"> <html:text property="short" size="15" maxlength="15"/> </td> </tr> <tr> <th align="left"> <bean:message key="typeForm.integer.displayname"/> </th> <td align="left"> <html:text property="integer" size="15" maxlength="15"/> </td> </tr> <tr> <th align="left"> <bean:message key="typeForm.long.displayname"/> </th> <td align="left"> <html:text property="long" size="15" maxlength="15"/> </td> </tr> <tr> <th align="left"> <bean:message key="typeForm.float.displayname"/> </th> <td align="left"> <html:text property="float" size="15" maxlength="15"/> </td> </tr> <tr> <th align="left"> <bean:message key="typeForm.double.displayname"/> </th> <td align="left"> <html:text property="double" size="15" maxlength="15"/> </td> </tr> <tr> <th align="left"> <bean:message key="typeForm.date.displayname"/> </th> <td align="left"> <html:text property="date" size="15" maxlength="15"/> </td> </tr> <tr> <th align="left"> <bean:message key="typeForm.creditCard.displayname"/> </th> <td align="left"> <html:text property="creditCard" size="16" maxlength="16"/> </td> </tr> <tr> <td> <html:submit property="submit"> <bean:message key="button.save"/> </html:submit> <html:reset> <bean:message key="button.reset"/> </html:reset> <html:cancel> <bean:message key="button.cancel"/> </html:cancel> </td> </tr> </table> </html:form> </body> </html:html> 1.1 jakarta-struts/web/validator/WEB-INF/struts-config.xml Index: struts-config.xml =================================================================== <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> <!-- This is the Struts configuration file for the example application, using the proposed new syntax. NOTE: You would only flesh out the details in the "form-bean" declarations if you had a generator tool that used them to create the corresponding Java classes for you. Otherwise, you would need only the "form-bean" element itself, with the corresponding "name" and "type" attributes. --> <struts-config> <!-- ========== Form Bean Definitions =================================== --> <form-beans> <!-- Registration form bean --> <form-bean name="registrationForm" type="org.apache.struts.webapp.validator.RegistrationForm"/> <!-- Multi-Part Registration form bean --> <form-bean name="multiRegistrationForm" type="org.apache.struts.webapp.validator.RegistrationForm"/> <!-- Type form bean --> <form-bean name="typeForm" type="org.apache.struts.webapp.validator.TypeForm"/> <!-- JavaScript Type form bean --> <form-bean name="jsTypeForm" type="org.apache.struts.webapp.validator.TypeForm"/> <!-- Locale form bean --> <form-bean name="localeForm" type="org.apache.struts.action.DynaActionForm"> <form-property name="language" type="java.lang.String"/> <form-property name="country" type="java.lang.String"/> </form-bean> </form-beans> <!-- ========== Global Forward Definitions ============================== --> <global-forwards> <forward name="home" path="/index.jsp"/> </global-forwards> <!-- ========== Action Mapping Definitions ============================== --> <action-mappings> <!-- Registration Action --> <action path="/registration" type="org.apache.struts.webapp.validator.RegistrationAction" name="registrationForm" scope="request" validate="true" input="/registration.jsp"> <forward name="success" path="/index.jsp"/> </action> <!-- Multi-Part Registration Action --> <action path="/multiRegistration" type="org.apache.struts.webapp.validator.MultiRegistrationAction" name="multiRegistrationForm" scope="request" validate="false"> <forward name="success" path="/index.jsp"/> <forward name="input1" path="/multiRegistration1.jsp"/> <forward name="input2" path="/multiRegistration2.jsp"/> </action> <!-- Type Action --> <action path="/type" type="org.apache.struts.webapp.validator.TypeAction" name="typeForm" scope="request" validate="true" input="/type.jsp"> <forward name="success" path="/index.jsp"/> </action> <!-- JavaScript Type Action --> <action path="/jsType" type="org.apache.struts.webapp.validator.TypeAction" name="jsTypeForm" scope="request" validate="true" input="/jsType.jsp"> <forward name="success" path="/index.jsp"/> </action> <!-- Locale Action --> <action path="/locale" type="org.apache.struts.webapp.validator.LocaleAction" name="localeForm" scope="request"> <forward name="success" path="/index.jsp"/> </action> </action-mappings> <!-- ========== Message Resources Definitions =========================== --> <message-resources parameter="org.apache.struts.webapp.validator.ApplicationResources"/> <!-- ========== Plug Ins Configuration ================================== --> <!-- Add multiple validator resource files by setting the pathname property --> <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathname" value="/WEB-INF/validator-rules.xml"/> <set-property property="pathname" value="/WEB-INF/validation.xml"/> </plug-in> </struts-config> 1.1 jakarta-struts/web/validator/WEB-INF/validation.xml Index: validation.xml =================================================================== <form-validation> <global> <constant> <constant-name>phone</constant-name> <constant-value>^\(?(\d{3})\)?[-| ]?(\d{3})[-| ]?(\d{4})$</constant-value> </constant> <constant> <constant-name>zip</constant-name> <constant-value>^\d{5}\d*$</constant-value> </constant> </global> <formset> <constant> <constant-name>zip</constant-name> <constant-value>^\d{5}(-\d{4})?$</constant-value> </constant> <form name="registrationForm"> <field property="firstName" depends="required,mask,minlength"> <arg0 key="registrationForm.firstname.displayname"/> <arg1 name="minlength" key="${var:minlength}" resource="false"/> <var> <var-name>mask</var-name> <var-value>^\w+$</var-value> </var> <var> <var-name>minlength</var-name> <var-value>5</var-value> </var> </field> <field property="lastName" depends="required,mask,maxlength"> <msg name="mask" key="registrationForm.lastname.maskmsg"/> <arg0 key="registrationForm.lastname.displayname"/> <arg1 name="maxlength" key="${var:maxlength}" resource="false"/> <var> <var-name>mask</var-name> <var-value>^[a-zA-Z]*$</var-value> </var> <var> <var-name>maxlength</var-name> <var-value>10</var-value> </var> </field> <field property="addr" depends="required"> <arg0 key="registrationForm.addr.displayname"/> </field> <field property="cityStateZip.city" depends="required,mask"> <arg0 key="registrationForm.city.displayname"/> <var> <var-name>mask</var-name> <var-value>^[a-zA-Z]*$</var-value> </var> </field> <field property="cityStateZip.stateProv" depends="required,mask"> <arg0 key="registrationForm.stateprov.displayname"/> <var> <var-name>mask</var-name> <var-value>^[a-zA-Z]*$</var-value> </var> </field> <field property="cityStateZip.zipPostal[1]" depends="required,mask"> <arg0 key="registrationForm.zippostal.displayname"/> <var> <var-name>mask</var-name> <var-value>${zip}</var-value> </var> </field> <field property="phone" depends="mask"> <arg0 key="registrationForm.phone.displayname"/> <var> <var-name>mask</var-name> <var-value>${phone}</var-value> </var> </field> <field property="email" depends="required,email"> <arg0 key="registrationForm.email.displayname"/> </field> </form> <form name="multiRegistrationForm"> <field property="firstName" depends="required,mask" page="1"> <arg0 key="registrationForm.firstname.displayname"/> <var> <var-name>mask</var-name> <var-value>^\w+$</var-value> </var> </field> <field property="lastName" depends="required,mask" page="1"> <msg name="mask" key="registrationForm.lastname.maskmsg"/> <arg0 key="registrationForm.lastname.displayname"/> <var> <var-name>mask</var-name> <var-value>^[a-zA-Z]*$</var-value> </var> </field> <field property="addr" depends="required" page="1"> <arg0 key="registrationForm.addr.displayname"/> </field> <field property="cityStateZip.city" depends="required,mask" page="1"> <arg0 key="registrationForm.city.displayname"/> <var> <var-name>mask</var-name> <var-value>^[a-zA-Z]*$</var-value> </var> </field> <field property="cityStateZip.stateProv" depends="required,mask" page="2"> <arg0 key="registrationForm.stateprov.displayname"/> <var> <var-name>mask</var-name> <var-value>^[a-zA-Z]*$</var-value> </var> </field> <field property="cityStateZip.zipPostal[1]" depends="required,mask" page="2"> <arg0 key="registrationForm.zippostal.displayname"/> <var> <var-name>mask</var-name> <var-value>${zip}</var-value> </var> </field> <field property="phone" depends="mask" page="2"> <arg0 key="registrationForm.phone.displayname"/> <var> <var-name>mask</var-name> <var-value>${phone}</var-value> </var> </field> <field property="email" depends="required,email" page="2"> <arg0 key="registrationForm.email.displayname"/> </field> </form> <form name="typeForm"> <field property="byte" depends="required,byte"> <arg0 key="typeForm.byte.displayname"/> </field> <field property="short" depends="required,short"> <arg0 key="typeForm.short.displayname"/> </field> <field property="integer" depends="required,integer,range"> <arg0 key="typeForm.integer.displayname"/> <arg1 name="range" key="${var:min}" resource="false"/> <arg2 name="range" key="${var:max}" resource="false"/> <var> <var-name>min</var-name> <var-value>10</var-value> </var> <var> <var-name>max</var-name> <var-value>20</var-value> </var> </field> <field property="long" depends="required,long"> <arg0 key="typeForm.long.displayname"/> </field> <field property="float" depends="required,float"> <arg0 key="typeForm.float.displayname"/> </field> <field property="double" depends="required,double"> <arg0 key="typeForm.double.displayname"/> </field> <field property="date" depends="required,date"> <arg0 key="typeForm.date.displayname"/> <var> <var-name>datePatternStrict</var-name> <var-value>MM/dd/yyyy</var-value> </var> </field> <field property="creditCard" depends="required,creditCard"> <arg0 key="typeForm.creditCard.displayname"/> </field> </form> <form name="jsTypeForm"> <field property="byte" depends="required,byte"> <arg0 key="typeForm.byte.displayname"/> </field> <field property="short" depends="required,short"> <arg0 key="typeForm.short.displayname"/> </field> <field property="integer" depends="required,integer,range"> <arg0 key="typeForm.integer.displayname"/> <arg1 name="range" key="${var:min}" resource="false"/> <arg2 name="range" key="${var:max}" resource="false"/> <var> <var-name>min</var-name> <var-value>10</var-value> </var> <var> <var-name>max</var-name> <var-value>20</var-value> </var> </field> <field property="float" depends="required,float"> <arg0 key="typeForm.float.displayname"/> </field> <field property="date" depends="required,date"> <arg0 key="typeForm.date.displayname"/> <var> <var-name>datePatternStrict</var-name> <var-value>MM/dd/yyyy</var-value> </var> </field> <field property="creditCard" depends="required,creditCard"> <arg0 key="typeForm.creditCard.displayname"/> </field> </form> </formset> <formset language="fr"> <form name="registrationForm"> <field property="lastName" depends="required,mask"> <msg name="mask" key="registrationForm.lastname.maskmsg"/> <arg0 key="registrationForm.lastname.displayname"/> <var> <var-name>mask</var-name> <var-value>^\w+$</var-value> </var> </field> <field property="cityStateZip.stateProv"> <arg0 key="registrationForm.stateprov.displayname"/> </field> <field property="phone"> <arg0 key="registrationForm.phone.displayname"/> </field> </form> <form name="multiRegistrationForm"> <field property="firstName" depends="required,mask" page="1"> <arg0 key="registrationForm.firstname.displayname"/> <var> <var-name>mask</var-name> <var-value>^\w+$</var-value> </var> </field> <field property="lastName" depends="required,mask" page="1"> <msg name="mask" key="registrationForm.lastname.maskmsg"/> <arg0 key="registrationForm.lastname.displayname"/> <var> <var-name>mask</var-name> <var-value>^\w+$</var-value> </var> </field> <field property="addr" depends="required" page="1"> <arg0 key="registrationForm.addr.displayname"/> </field> <field property="cityStateZip.city" depends="required,mask" page="1"> <arg0 key="registrationForm.city.displayname"/> <var> <var-name>mask</var-name> <var-value>^[a-zA-Z]*$</var-value> </var> </field> <field property="cityStateZip.stateProv" page="2"> <arg0 key="registrationForm.stateprov.displayname"/> </field> <field property="cityStateZip.zipPostal[1]" depends="required,mask" page="2"> <arg0 key="registrationForm.zippostal.displayname"/> <var> <var-name>mask</var-name> <var-value>${zip}</var-value> </var> </field> <field property="phone" page="2"> <arg0 key="registrationForm.phone.displayname"/> </field> <field property="email" depends="required,email" page="2"> <arg0 key="registrationForm.email.displayname"/> </field> </form> <form name="typeForm"> <field property="integer" depends="required,integer,range"> <arg0 key="typeForm.integer.displayname"/> <arg1 name="range" key="${var:min}" resource="false"/> <arg2 name="range" key="${var:max}" resource="false"/> <var> <var-name>min</var-name> <var-value>50</var-value> </var> <var> <var-name>max</var-name> <var-value>60</var-value> </var> </field> <field property="date" depends="required,date"> <arg0 key="typeForm.date.displayname"/> <var> <var-name>datePatternStrict</var-name> <var-value>dd.MM.yyyy</var-value> </var> </field> </form> <form name="jsTypeForm"> <field property="integer" depends="required,integer,range"> <arg0 key="typeForm.integer.displayname"/> <arg1 name="range" key="${var:min}" resource="false"/> <arg2 name="range" key="${var:max}" resource="false"/> <var> <var-name>min</var-name> <var-value>50</var-value> </var> <var> <var-name>max</var-name> <var-value>60</var-value> </var> </field> <field property="date" depends="required,date"> <arg0 key="typeForm.date.displayname"/> <var> <var-name>datePatternStrict</var-name> <var-value>dd.MM.yyyy</var-value> </var> </field> </form> </formset> <formset language="fr" country="CA"> <form name="jsTypeForm"> <field property="integer" depends="required,integer,range"> <arg0 key="typeForm.integer.displayname"/> <arg1 name="range" key="${var:min}" resource="false"/> <arg2 name="range" key="${var:max}" resource="false"/> <var> <var-name>min</var-name> <var-value>100</var-value> </var> <var> <var-name>max</var-name> <var-value>200</var-value> </var> </field> <field property="date" depends="required,date"> <arg0 key="typeForm.date.displayname"/> <var> <var-name>datePatternStrict</var-name> <var-value>dd-MM-yyyy</var-value> </var> </field> </form> </formset> </form-validation> 1.1 jakarta-struts/web/validator/WEB-INF/web.xml Index: web.xml =================================================================== <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> <web-app> <!-- Action Servlet Configuration --> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>3</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>3</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <!-- Action Servlet Mapping --> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <!-- The Welcome File List --> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <!-- Struts Tag Library Descriptors --> <taglib> <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri> <taglib-location>/WEB-INF/struts-logic.tld</taglib-location> </taglib> <!-- Template Tag Library Descriptor --> <taglib> <taglib-uri>/WEB-INF/struts-template.tld</taglib-uri> <taglib-location>/WEB-INF/struts-template.tld</taglib-location> </taglib> </web-app>
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>