I have three
struts actions and a single form bean. I am declaring three different form-beans in the struts-config.xml with three different form names for the same form bean
java class. How can I validate the forms using the struts validator framework?
My struts-config.xml will look like this:
#########################################################################
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://struts.apache.org/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans>
<form-bean name="customerRegistrationForm"
type="com.sag.form.CustomerRegistrationForm">
<form-property name="customerId" type="java.lang.String" />
<form-property name="customerName" type="java.lang.String" />
<form-property name="customerAddress"
type="java.lang.String" />
<form-property name="customerParentId"
type="java.lang.String" />
<form-property name="countryId" type="java.lang.String" />
<form-property name="clientDivision"
type="java.lang.String" />
</form-bean>
<form-bean name="projectRegistrationForm"
type="com.sag.form.CustomerRegistrationForm">
<form-property name="projectName" type="java.lang.String" />
<form-property name="projectType" type="java.lang.String" />
<form-property name="technology" type="java.lang.String" />
<form-property name="sbu" type="java.lang.String" />
<form-property name="projectProfiles"
type="java.lang.String" />
<form-property name="onsiteOffshore"
type="java.lang.String" />
<form-property name="noOfResources" type="java.lang.String" />
</form-bean>
<form-bean name="proposalRegistrationForm"
type="com.sag.form.CustomerRegistrationForm">
<form-property name="proposalSerialNumber"
type="java.lang.String" />
<form-property name="proposalNumber"
type="java.lang.String" />
<form-property name="quarter" type="java.lang.String" />
<form-property name="month" type="java.lang.String" />
<form-property name="salesContact" type="java.lang.String" />
<form-property name="sagContact" type="java.lang.String" />
<form-property name="deliveryContact"
type="java.lang.String" />
<form-property name="proposalValue" type="java.lang.String" />
<form-property name="currencyCode" type="java.lang.String" />
<form-property name="USDinMillion" type="java.lang.String" />
<form-property name="proposalSummary"
type="java.lang.String" />
<form-property name="customerWinQuarter"
type="java.lang.String" />
<form-property name="clientRegion" type="java.lang.String" />
</form-bean>
</form-beans>
<global-exceptions />
<global-forwards>
<forward name="getName" path="/pages/registration.jsp" />
</global-forwards>
<action-mappings>
<action input="/pages/registration.jsp"
name="customerRegistrationForm" path="/registerCustomer"
scope="session" type="com.sag.action.CustomerRegisterAction"
validate="true">
<forward name="success" path="/pages/registration.jsp" />
<forward name="failure" path="/pages/customer.jsp" />
</action>
<action input="/pages/registration.jsp"
name="projectRegistrationForm" path="/registerProject"
scope="session" type="com.sag.action.ProjectRegistrationAction"
validate="true">
<forward name="success" path="/pages/registration.jsp" />
<forward name="failure" path="/pages/customer.jsp" />
</action>
<action input="/pages/registration.jsp"
name="proposalRegistrationForm" path="/registerProposal"
scope="session" type="com.sag.action.ProposalRegistrationAction"
validate="true">
<forward name="success" path="/pages/registration.jsp" />
<forward name="failure" path="/pages/customer.jsp" />
</action>
<action input="/pages/registration.jsp"
name="customerRegistrationForm" path="/register" scope="session"
type="com.sag.action.CustomerRegisterAction">
<forward name="success" path="/pages/registration.jsp" />
<forward name="failure" path="/pages/customer.jsp" />
</action>
</action-mappings>
<controller />
<message-resources parameter="ApplicationResources" />
<plug-in className="org.apache.struts.tiles.TilesPlugin">
<set-property property="definitions-config"
value="/WEB-INF/tiles-defs.xml" />
</plug-in>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
</plug-in>
</struts-config>
##########################################################################
Inside my
jsp for the form, I am declaring the script for enabling the client side alert as:
#####################################################################
<html:javascript formName="customerRegistrationForm"
method="validateForm" dynamicJavascript="true" staticJavascript="false"
cdata="false" />
<html:javascript formName="projectRegistrationForm"
method="validateForm" dynamicJavascript="true" staticJavascript="false"
cdata="false" />
<html:javascript formName="proposalRegistrationForm"
method="validateForm" dynamicJavascript="true" staticJavascript="false"
cdata="false" />
##########################################################