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]>