I was able to piece it all together using the
struts-validator.war file that comes in the
jakarta-struts-1.1-b2 release.
But here is some highlights......
For struts 1.1 in your struts-config.xml you require...
<!--
Add multiple validator resource files by setting the pathnames property
with a comma delimitted list of resource files to load.
-->
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,
/WEB-INF/validation.xml"/>
</plug-in>
Here is an example validation.xml (should be in struts-validate.war file)
Add/edit this file for your particular form:
<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="userForm">
<field property="email"
depends="required,email">
<arg0 key="userForm.email.displayname"/>
</field>
<field property="firstname"
depends="required,mask,minlength">
<arg0 key="userForm.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>3</var-value>
</var>
</field>
<field property="lastname"
depends="required,mask,maxlength">
<arg0 key="userForm.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="address1"
depends="required">
<arg0 key="userForm.address1.displayname"/>
</field>
<field property="city"
depends="required,mask">
<arg0 key="userForm.city.displayname"/>
<var>
<var-name>mask</var-name>
<var-value>^[a-zA-Z\s]*$</var-value>
</var>
</field>
<field property="state"
depends="required,mask">
<arg0 key="userForm.state.displayname"/>
<var>
<var-name>mask</var-name>
<var-value>^[a-zA-Z]*$</var-value>
</var>
</field>
<field property="zip"
depends="required,mask">
<arg0 key="userForm.zip.displayname"/>
<var>
<var-name>mask</var-name>
<var-value>${zip}</var-value>
</var>
</field>
<field property="phone"
depends="required,mask">
<arg0 key="userForm.phone.displayname"/>
<var>
<var-name>mask</var-name>
<var-value>${phone}</var-value>
</var>
</field>
<field property="password"
depends="required,password">
<arg0 key="userForm.password.displayname"/>
</field>
</form>
<form name="userPasswordForm">
<field property="email"
depends="required,email">
<arg0 key="userForm.email.displayname"/>
</field>
</form>
</formset>
</form-validation>
The validator-rules.xml file has just about every rule you would need for
standard
validation. It is long so I don't supply it here (in struts-validator.war).
Barry
----- Original Message -----
From: "Gregory F. March" <[EMAIL PROTECTED]>
To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
Sent: Friday, June 06, 2003 11:50 AM
Subject: DynaValidatorForm setup
>
> Hi all,
>
> I am about to embark on learning about the validation features of
> struts. I currently have a dynamic form (configured in struts-config)
> used as a wizard interface and I would like to validate several of
> those fields.
>
> I am reading the O'Reilly book _Programming Jakarta Struts_ and I'm
> confused about what I need to do.
>
> The book refers to a files called "validation.xml" and about setting
> up the plugin. I am using struts 1.1 and I don't have a
> validation.xml file. I do have a validator-rules.xml and several
> dtd's that have DEPRECATED all through out them.
>
> My question is, if I want to add a "formset" (as described on page
> 272), where do I put it? Do I need to set up a plug in?
>
> Also, what are those "arg0's" pointing to?
>
> As an aside, has anyone else found that this book covers a lot of
> bredth, but not nearly enough depth? Every time I start working on
> part of my project, the book leads me in a certain direction, but
> falls short of actually getting there. Thank goodness for this list
> and the archives...
>
> Cheers,
>
> /greg
>
> --
> Gregory F. March -=- http://www.gfm.net:81/~march -=-
AIM:GfmNet
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]