How validate method works in Works in Struts
RequestProcessor checks for the validate attribute in the ActionMapping. If the validate is set to true, the RequestProcessor invokes the validate() method on the CustomerForm instance. This is the method where you can put all the html form data validations. If any error then RequestProcessor checks for the input attribute in the
ActionMapping and forward to page mentioned in the input tag.
<action path="/submitDetails"
type="mybank.example.CustomerAction"
name="CustomerForm"
scope="request"
validate="true"
input="CustomerDetailForm.jsp">
<forward name="success"
path="ThankYou.jsp"
redirect=”true”/>
<forward name="failure" path="error.jsp" />
</action>
If no error in validate() method then continue. and Validate() method looks like
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request)
{
// Perform validator framework validations
ActionErrors errors = new ActionErrors();
// Only need crossfield validations here
if (parent == null) {
errors.add(ActionErrors.GLOBAL_ERROR,
new ActionError("error.custform"));
}
if (firstName == null) {
errors.add(ActionErrors.GLOBAL_ERROR,
new ActionError("error.firstName.null"));
}
return errors;
}
where error.custform and error.firstName.null keys from Message Resource Bundle.
