Sean-

You need to add an "onsubmit" attribute to your html:form" element that calls the validation function. Specifically, IIRC, it needs to say:
onsubmit="return validateForm(this);

happy coding,

-adam

O'Shea, Sean wrote:
Hi all,

I'm using struts 1.2.7 with commons-validator-1.1.4 and I'm running into
a few generated JavaScript errors. Here's what my JSP looks like:

<html:javascript formName="loginForm" />
<html:form action="/login" method="POST">
  <table border="0" cellspacing="5">
    <tr>
      <th align="right">
        <bean:message key="login.ssn"/>:
      </th>
      <td align="left">
        <html:text property="SSN"/><bean:message
key="login.correctssn"/>
      </td>
    </tr>
    <tr>
      <th align="right">
        <bean:message key="login.password"/>:
      </th>
      <td align="left">
        <html:password property="password"/><bean:message
key="login.correctpw"/>
      </td>
    </tr>
    <tr>
      <td align="right">
        <input type="submit" value="<bean:message
key="login.button"/>"/>
      </td>
      <td align="left">
        <input type="reset"/>
      </td>
    </tr>
  </table>
</html:form>

Here's what my action mapping looks like:

                <action path="/login" name="loginForm"
type="LoginAction"
                                scope="request" validate="true"
input="login">
.....
                </action>

This is what my form bean looks like:

                <form-bean name="loginForm"
type="org.apache.struts.validator.DynaValidatorForm">
                        <form-property name="SSN"
type="java.lang.String" />
                        <form-property name="password"
type="java.lang.String" />
                </form-bean>

My form validations look like this:

                <form name="loginForm">
                        <field property="SSN" depends="required">
                                <arg key="login.ssn" position="0"/>
                        </field>
                        <field property="password" depends="required">
                                <arg key="login.password" position="0"/>
                        </field>
                </form>

When I try to submit my loginForm. my server die validations work fine,
but the JavaScript does not get executed. From looking at the generated
source I see this:

<script type="text/javascript" language="Javascript1.1"> <!-- Begin var bCancel = false;
    function validateLoginForm(form) {

if (bCancel) return true; else var formValidationResult; formValidationResult = validateRequired(form); return (formValidationResult == 1); } function loginForm_required () { this.a0 = new Array("SSN", "SSN is required.", new Function
("varName", " return this[varName];"));
     this.a1 = new Array("password", "Password is required.", new
Function ("varName", " return this[varName];"));
}
Either the JavaScript is not getting called, or the generated JavaScript
does not match up. Could it be something to do with the html:javasctipt
tag? Looking at the source I have for the JavascriptValidatorTag class I
see this version:

* $Id: JavascriptValidatorTag.java 165208 2005-04-28 21:41:45Z mrdon $
All help would be greatly appreciated.

Thanks

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

Reply via email to