Hi,

In my application I have used the validate() method but to my surprise i found 
that validate method was not being called at all.
What
ever the code i have placed in the validate method was not being
executed. I doubt there was some problem with the interceptors which i
have included in the xml file.

I'm submitting the userId and password from my login page which was mapped to 
Loagin action class which contains validate method.

Here is my code of validate method in my LoginAction:

/* (non-Javadoc)
     * @see com.opensymphony.xwork2.ActionSupport#validate()
     */
    @Override
    public void validate() {

        List<Object> loginErrors= new ArrayList<Object>();
        
        if ((getUserId() == null) && (getPassword() == null)){
            loginErrors.add(getText(GuiConstants.LOGIN_REQUIRED));
        }
        List<Object> userIdErrors=ValidatorUtils.validateString("User ID", 
getUserId(),  1, 15, true);

        if(userIdErrors!=null){
            loginErrors.addAll(userIdErrors);
        }
        
        List<Object> passwordErrors=ValidatorUtils.validateString("Password", 
getPassword(), 6, 10, true);

        if(passwordErrors!=null){
            loginErrors.addAll(passwordErrors);
        }

        setActionErrors(loginErrors);

    }//end validate

Below is the xml file:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd";>
<struts>
    <package name="fps-Default" extends="struts-default">
        <interceptors>
              <interceptor-stack name="defaultFPSStack">
              <interceptor-ref name="exception" />
              <interceptor-ref name="alias" />
              <interceptor-ref name="servlet-config" />
              <interceptor-ref name="prepare" />
              <interceptor-ref name="i18n" />
              <interceptor-ref name="chain" />
              <interceptor-ref name="debugging" />
              <interceptor-ref name="profiling" />
              <interceptor-ref name="fileUpload" >
               <param name="maximumSize">104857600</param>
              </interceptor-ref>
            <interceptor-ref name="static-params" />
            <interceptor-ref name="params" />
            <interceptor-ref name="conversionError" />
            <interceptor-ref name="validation" />

           
            </interceptor-stack>
        </interceptors>
        <default-interceptor-ref name="defaultFPSStack" />
            <!-- Global Results -->
        <global-results>
            <result name="error">/fps_error.jsp</result>
            <result name="invalidUser">/login.jsp</result>
           </global-results>

        <action name="login" class="com.abc.presentation.action.LoginAction">
            <result name="success" type="redirect-action">
                <param name="actionName">viewHome.action</param>
                <param name="namespace">/h</param>
            </result>
            <result name="failure">login.jsp</result>
            <result name="input">login.jsp</result>
         </action>
  
      </package>
</struts>

Pls kindly help me out as to what should be done to make my validate method work



      

Reply via email to