You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Ch...@astrazeneca.com on 2004/09/29 22:00:42 UTC

Multiple validation in a DispatchAction

Hi,
    I upload a file in which I read information to fill a Collection of
ValidatorForm object. The file is stocked in a DynaValidatorForm, who is
called in the ActionMapping of the struts-config. The Collection of Form is
fill in the DispatchAction of the ActionMapping.
I validate the DynaValidatorForm but, after that, I want to validate each of
the ValidatorForm object in the Dispatch Action. 

	I use the validate method from the ValidatorForm. But, the method
call me a null pointer exception in the validate method when I do
"validatorForm".validate(mapping,request). The code where is the error in
the validate method is : super.validate(mapping,request). Somebody can give
me an idea to validate each ValidatorForm in the same dispatch action of the
ActionMapping without the exception. Sorry for my english, this isn't my
native language :0).

		Any ideas are welcome !
	
				Charles Gouin-Vallerand

This is a snippet of my code :

<action path="/createMasterFromFile"
			type="plateinv.actions.plate.MPCreateAction"
			name="plateCreationForm"
			parameter="method"
			validate="true"
            		input="tiles.plate.master.create.option">
	  <forward name="createFromFile"
path="tiles.plate.master.create.confirmationMP"/>
	  <forward name="createFromFileMPDP"
path="tiles.plate.master.create.confirmationMPDP"/>
 </action>

public class MPCreateAction extends DispatchAction {
.......
public ActionForward createFromFile(ActionMapping mapping,ActionForm form,
				      HttpServletRequest request,
HttpServletResponse response) throws
        Exception {

        DynaValidatorForm pcf = (DynaValidatorForm) form;
        //retrieve the file representation
        FormFile file = (FormFile) pcf.get("fileName");
        ReadMP rmp = new ReadMP(file.getInputStream());
        Collection collMP = rmp.read();  //Collection of MasterPlateForm
        Iterator it = collMP.iterator();
        while(it.hasNext()) {
            MasterPlateForm mpf = ( MasterPlateForm ) it.next();
            Enumeration enum = request.getAttributeNames();
            mpf.validate( mapping, request ); // Where I call the validate
method
        }
        return mapping.findForward("createFromFile");
    }
}

public class MasterPlateForm extends ValidatorForm {
.....
public ActionErrors validate(ActionMapping mapping, HttpServletRequest
request) {
        ActionMessages errors = super.validate(mapping,request);  // This is
the line where the null pointer exception is called
        String method = request.getParameter("method").toString();

        if(method.equals("cancel")) {
            return null;
        } else {  
            return (ActionErrors) errors;
        }
    }
}



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