I've got validation working fine for the login page that users see when
they first hit my webapp, but it doesn't work for a change password 
form later on in the webapp and I don't have a clue why.

I'm using the latest nightly of struts on tomcat on solaris (not that that
seems to matter much)

Relevant info:

struts-config
------------
bean declarations:

 <form-bean      name="logonForm"
                    type="org.apache.struts.validator.DynaValidatorForm">
      <form-property name="uname" type="java.lang.String"/>
      <form-property name="pass" type="java.lang.String"/>
    </form-bean>

    <form-bean      name="changePasswordForm"
                    type="org.apache.struts.validator.DynaValidatorForm">
      <form-property name="old" type="java.lang.String"/>
      <form-property name="new1" type="java.lang.String"/>
      <form-property name="new2" type="java.lang.String"/>
    </form-bean>         

action maps:

// the form that works
 <action    path="/logon" type="actions.LogonAction"
               name="logonForm" scope="request" validate="true"
               input="/logonForward.do"   >
       <forward name="success" redirect="true" path="/secure/summaryPage.do"/>
    </action>    

// the form that doesn't
 <action    path="/secure/util/changePasswordSubmit"
               type="org.apache.struts.scaffold.ProcessAction"
               parameter="collab.beans.secure.util.ChangePassword"
               input="/secure/util/changePassword.do"
               name="changePasswordForm" scope="request" validate="true" >
       <forward name="success"     path="/secure/summaryPage.do" />
       <forward name="failure"     path="/secure/util/changePassword.do" />
 </action>         

------------





validation.xml (trimmed to only show one field per form):
--------------
  <form name="logonForm">

            <field property="uname"
                    depends="minlength,maxlength">
                <arg0   key="loginpage.usernameprompt"/>
                <arg1   key="${var:minlength}" name="minlength"
                   resource="false"/>
                <arg2   key="${var:maxlength}" name="maxlength"
                   resource="false"/>
                <var>
                    <var-name>maxlength</var-name>
                    <var-value>16</var-value>
                </var>
                <var>
                    <var-name>minlength</var-name>
                    <var-value>1</var-value>
                </var>
            </field>

        </form>

  <!-- add more forms here -->

        <form name="changePasswordForm">

            <field property="old"
                    depends="minlength,maxlength" >
                <arg0   key="changePassword.oldText"/>
                <arg1   key="${var:minlength}" name="minlength"
                   resource="false"/>
                <arg2   key="${var:maxlength}" name="maxlength"
                   resource="false"/>
                <var>
                    <var-name>maxlength</var-name>
                    <var-value>16</var-value>
                </var>
                <var>
                    <var-name>minlength</var-name>
                    <var-value>1</var-value>
                </var>
            </field>             

--------------




Since validation occurs before the Action bean is called, scaffolding
shouldn't be getting in the way.  Other than that, I'm just not seeing
what the problem could be.  It works for logon, but not for
changePassword.


Any help would be appreciated.  Thanks,

Kirby



-- 

Kirby Vandivort                      Theoretical and Computational Biophysics 
Email: [EMAIL PROTECTED]          3051 Beckman Institute
http://www.ks.uiuc.edu/~kvandivo/    University of Illinois
Phone: (217) 244-5711                405 N. Mathews Ave
Fax  : (217) 244-6078                Urbana, IL  61801, USA

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to