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.
Here is my code of validate method:
/* (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>