You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by hu...@apache.org on 2004/01/08 17:23:45 UTC

cvs commit: jakarta-struts/web/examples/WEB-INF/validator validation.xml struts-config.xml

husted      2004/01/08 08:23:45

  Added:       web/examples/WEB-INF/validator validation.xml
                        struts-config.xml
  Log:
  Struts and Validator configuration for validator module.
  
  Revision  Changes    Path
  1.1                  jakarta-struts/web/examples/WEB-INF/validator/validation.xml
  
  Index: validation.xml
  ===================================================================
  <?xml version="1.0" encoding="iso-8859-1"?>
  <!DOCTYPE form-validation SYSTEM "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd">
  <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,intRange">
          <arg0 key="typeForm.integer.displayname" />
          <arg1 name="intRange" key="${var:min}" resource="false" />
          <arg2 name="intRange" 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="floatRange" depends="required,float,floatRange">
          <arg0 key="typeForm.floatRange.displayname" />
          <arg1 name="floatRange" key="${var:min}" resource="false" />
          <arg2 name="floatRange" key="${var:max}" resource="false" />
          <var>
            <var-name>min</var-name>
            <var-value>-2.17</var-value>
          </var>
          <var>
            <var-name>max</var-name>
            <var-value>3.14</var-value>
          </var>
        </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>
        <field property="value" indexedListProperty="nameList" depends="required">
          <arg0 key="typeForm.nested.name.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,intRange">
          <arg0 key="typeForm.integer.displayname" />
          <arg1 name="intRange" key="${var:min}" resource="false" />
          <arg2 name="intRange" 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="floatRange" depends="required,float,floatRange">
          <arg0 key="typeForm.floatRange.displayname" />
          <arg1 name="floatRange" key="${var:min}" resource="false" />
          <arg2 name="floatRange" key="${var:max}" resource="false" />
          <var>
            <var-name>min</var-name>
            <var-value>-2.17</var-value>
          </var>
          <var>
            <var-name>max</var-name>
            <var-value>3.14</var-value>
          </var>
        </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>
        <field property="satisfaction" depends="required">
          <arg0 key="typeForm.option.satisfaction" />
        </field>
        <field property="osList" depends="required">
          <arg0 key="typeForm.option.os.list" />
        </field>
        <field property="overallSatisfaction" depends="required">
          <arg0 key="typeForm.radio.overall.satisfaction" />
        </field>
        <field property="wouldRecommend" depends="required">
          <arg0 key="typeForm.checkbox.wouldrecommend" />
        </field>
        <field property="usedLanguages" depends="required">
          <arg0 key="typeForm.checkbox.used.languages" />
        </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,intRange">
          <arg0 key="typeForm.integer.displayname" />
          <arg1 name="intRange" key="${var:min}" resource="false" />
          <arg2 name="intRange" 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,intRange">
          <arg0 key="typeForm.integer.displayname" />
          <arg1 name="intRange" key="${var:min}" resource="false" />
          <arg2 name="intRange" 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>
    <formset language="ja">
      <constant>
        <constant-name>zip</constant-name>
        <constant-value>^\d{3}-\d{4}$</constant-value>
      </constant>
      <constant>
        <constant-name>phone</constant-name>
        <constant-value>^[0][1-9]((\d{2,3}-?)|(-\d{2,3})|(\d-\d{1,2})|(\d{2}-\d))\d-\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,intRange">
          <arg0 key="typeForm.integer.displayname" />
          <arg1 name="intRange" key="${var:min}" resource="false" />
          <arg2 name="intRange" key="${var:max}" resource="false" />
          <var>
            <var-name>min</var-name>
            <var-value>400</var-value>
          </var>
          <var>
            <var-name>max</var-name>
            <var-value>700</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="floatRange" depends="required,float,floatRange">
          <arg0 key="typeForm.floatRange.displayname" />
          <arg1 name="floatRange" key="${var:min}" resource="false" />
          <arg2 name="floatRange" key="${var:max}" resource="false" />
          <var>
            <var-name>min</var-name>
            <var-value>-2.17</var-value>
          </var>
          <var>
            <var-name>max</var-name>
            <var-value>3.14</var-value>
          </var>
        </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>yyyy/MM/dd</var-value>
          </var>
        </field>
        <field property="creditCard" depends="required,creditCard">
          <arg0 key="typeForm.creditCard.displayname" />
        </field>
        <field property="value" indexedListProperty="nameList" depends="required">
          <arg0 key="typeForm.nested.name.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,intRange">
          <arg0 key="typeForm.integer.displayname" />
          <arg1 name="intRange" key="${var:min}" resource="false" />
          <arg2 name="intRange" key="${var:max}" resource="false" />
          <var>
            <var-name>min</var-name>
            <var-value>400</var-value>
          </var>
          <var>
            <var-name>max</var-name>
            <var-value>700</var-value>
          </var>
        </field>
        <field property="float" depends="required,float">
          <arg0 key="typeForm.float.displayname" />
        </field>
        <field property="floatRange" depends="required,float,floatRange">
          <arg0 key="typeForm.floatRange.displayname" />
          <arg1 name="floatRange" key="${var:min}" resource="false" />
          <arg2 name="floatRange" key="${var:max}" resource="false" />
          <var>
            <var-name>min</var-name>
            <var-value>-2.17</var-value>
          </var>
          <var>
            <var-name>max</var-name>
            <var-value>3.14</var-value>
          </var>
        </field>
        <field property="date" depends="required,date">
          <arg0 key="typeForm.date.displayname" />
          <var>
            <var-name>datePatternStrict</var-name>
            <var-value>yyyy/MM/dd</var-value>
          </var>
        </field>
        <field property="creditCard" depends="required,creditCard">
          <arg0 key="typeForm.creditCard.displayname" />
        </field>
      </form>
    </formset>
    <formset language="fr" country="CA">
      <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,intRange">
          <arg0 key="typeForm.integer.displayname" />
          <arg1 name="intRange" key="${var:min}" resource="false" />
          <arg2 name="intRange" 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,intRange">
          <arg0 key="typeForm.integer.displayname" />
          <arg1 name="intRange" key="${var:min}" resource="false" />
          <arg2 name="intRange" 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>MM-dd-yyyy</var-value>
          </var>
        </field>
      </form>
    </formset>
  </form-validation>
  
  
  
  1.1                  jakarta-struts/web/examples/WEB-INF/validator/struts-config.xml
  
  Index: struts-config.xml
  ===================================================================
  <?xml version="1.0" encoding="iso-8859-1"?>
  <!DOCTYPE struts-config SYSTEM "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
  <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>
      <action path="/welcome" forward="/index.jsp" />
      <!-- Registration Action -->
      <action path="/registration" forward="/registration.jsp" />
      <action path="/registration-submit" type="org.apache.struts.webapp.validator.RegistrationAction" name="registrationForm" scope="request" validate="true" input="/registration.do">
        <forward name="success" path="/index.jsp" />
      </action>
      <action path="/jsRegistration" forward="/jsRegistration.jsp" />
      <!-- Multi-Part Registration Action -->
      <action path="/multiRegistration" forward="/multiRegistration1.jsp" />
      <action path="/multiRegistration-submit" type="org.apache.struts.webapp.validator.MultiRegistrationAction" name="multiRegistrationForm" scope="request" validate="false">
        <forward name="success" path="/welcome.do" />
        <forward name="input1" path="/multiRegistration1.jsp" />
        <forward name="input2" path="/multiRegistration2.jsp" />
      </action>
      <!-- Type Action -->
      <action path="/type" forward="/type.jsp" />
      <action path="/type-submit" type="org.apache.struts.webapp.validator.TypeAction" name="typeForm" scope="request" validate="true" input="/type.do">
        <forward name="success" path="/welcome.do" />
      </action>
      <!-- JavaScript Type Action -->
      <action path="/editJsType" type="org.apache.struts.webapp.validator.EditTypeAction" scope="request" validate="false">
        <forward name="success" path="/jsType.do" />
      </action>
      <action path="/jsType" forward="/jsType.jsp" />
      <action path="/jsType-submit" type="org.apache.struts.webapp.validator.TypeAction" name="jsTypeForm" scope="request" validate="true" input="/editJsType-submit.do?typeForm.reset=false">
        <forward name="success" path="/welcome.do" />
      </action>
      <!-- Locale Action -->
      <action path="/locale" type="org.apache.struts.webapp.validator.LocaleAction" name="localeForm" scope="request">
        <forward name="success" path="/welcome.do" />
      </action>
    </action-mappings>
    <!-- ===================================== Message Resources Definitions  -->
    <message-resources parameter="org.apache.struts.webapp.validator.MessageResources" />
    <!-- ============================================ Plug Ins Configuration  -->
    <!-- 
         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/validator/validation.xml" />
      <set-property property="stopOnFirstError" value="true" />
    </plug-in>
  </struts-config>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: struts-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-dev-help@jakarta.apache.org