struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Givler, Eric" <egiv...@state.pa.us>
Subject RE: Validator not getting called and I can't see why
Date Fri, 04 Aug 2006 12:26:55 GMT
Can you override the validate() method inside your form and just call super.validate(), then
see what the error collection has?
At least then you know it was called, but may not have done what you thought it should:

package view.struts.forms;

import javax.servlet.http.HttpServletRequest;

import org.apache.log4j.Logger;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.validator.DynaValidatorForm;

public class Page_6_Form extends DynaValidatorForm {
   private static Logger log = Logger.getLogger(Page_6_Form.class);

   public ActionErrors validate(ActionMapping mapping, 
                                HttpServletRequest request) {

      log.info( request.getRemoteUser() + " *** validate() - Start ***");

      // step in here with debug   
      ActionErrors errors = super.validate(mapping, request);

      // look at results of errors object as watch on first test
      log.info( request.getRemoteUser() + " *** validate - End, errors= " +
        ( errors == null ? "0" : errors.size()+"" ) + " ***");      

      return ( errors );        
   } // validate
   
} // Page_6_Form


-----Original Message-----
From: Bart Busschots [mailto:bart-lists@so-4pt.net]
Sent: Thursday, August 03, 2006 6:10 PM
To: Struts Users Mailing List
Subject: Validator not getting called and I can't see why


I'm either missing something stupid (which is always possible) or I've 
managed to break the validator. I have an app that uses validator all 
over the place and it's working fine in all my other actions but for 
this one action it is simply not getting called.

I can't see any difference between this action/form/validation and all 
the other ones that are working.

This is the form:

  <form-bean name="createStudentGroupForm" 
type="org.apache.struts.validator.DynaValidatorForm">
   <form-property name="groupName" type="java.lang.String" />
   <form-property name="noStudents" type="java.lang.String" />
   <form-property name="groupType" type="java.lang.String" />
   <form-property name="wikiText" type="java.lang.String" />
   <form-property name="studentNames" type="java.lang.String[]" />
  </form-bean>

This is the action:

  <action path="/mentor/createStudentGroupStep1" 
type="vtie.portal.mentor.CreateStudentGroupPrepareAction" 
name="createStudentGroupForm" scope="session" validate="true" 
input="/home/mentor/addStudentGroupForm.jsp">
   <forward name="createAnonymous" 
path="/do/mentor/createAnonymousStudentGroup" />
   <forward name="getStudentNames" 
path="/home/mentor/getStudentNamesForm.jsp" />
   <forward name="fail" path="/home/mentor/addStudentGroupForm.jsp" />
  </action>

And this is the validation:

  <form name="createStudentGroupForm">
   <field property="groupName" page="1" depends="required, mask">
    <var><var-name>mask</var-name><var-value>^[a-zA-Z]+[\w\ 
]*$</var-value></var>
    <arg0 key="mentor.createStudentGroup.groupName.label"/>
   </field>
   <field property="noStudents" page="1" depends="required, integer">
    <arg0 key="mentor.createStudentGroup.noStudents.label"/>
   </field>
   <field property="studentNames" page="2" depends="required">
    <arg0 key="mentor.createStudentGroup.studentNames.label"/>
   </field>
  </form>

Can anyone see something obviously wrong there?

Cheers,

Bart.

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


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


Mime
View raw message