วิธีการทำ Validate with struts in Project OSMEP (สสว SME)
1.struts-config.xml
<struts-config>
<!-- ================================================1.1 Form Bean Definitions -->
<form-beans>
<form-bean name="registrationForm" type="com.arg.sme.regis.struts.forms.RegisForm">
<form-property name="email" type="java.lang.String"/>
</form-bean>
</form-beans>
<!-- ================================================1.2 Mapping action Definitions -->
<action-mappings>
<action path="/regis-steptwo" type="com.arg.sme.regis.struts.actions.RegisEmailAction" name="registrationForm"
scope="request" validate="true" input=".regis-stepone">
<forward name="success" path=".regis-steptwo"/>
<forward name="failure" path=".regis-stepone"/>
</action>
<action-mappings>
<!-- ================================================1.3 Message resource Definitions -->
<message-resources parameter="MessageResources"/>
<!-- ================================================ Plugin class Definitions -->
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property
property="pathnames"
value="/WEB-INF/struts/validator-rules.xml,/WEB-INF/struts/validation.xml"/>
</plug-in>
<struts-config>
2.Validation-rules.xml
<form-validation>
<global>
<validator name="email"
classname="org.apache.struts.validator.FieldChecks"
method="validateEmail"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionMessages,
org.apache.commons.validator.Validator,
javax.servlet.http.HttpServletRequest"
depends=""
msg="errors.email"/>
</global>
</form-validation>
3.validation.xml
<form-validation>
<global>
</global>
<formset>
<form name="registrationForm">
<field depends="email" property="email">
</field>
</form>
</formset>
</form-validation>
4.BaseForm.java
package com.arg.sme.regis.struts.forms;
import org.apache.struts.validator.ValidatorForm;
public class BaseForm extends ValidatorForm
{
}
5.RegisForm.java
package com.arg.sme.regis.struts.forms;
import java.util.Arrays;
public class RegisForm extends BaseForm
{
private String loginName;
private String password;
private String email;
private Long regisID;
public String getLoginName()
{
return loginName;
}
public void setLoginName(String loginName)
{
this.loginName = loginName;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
public String getEmail()
{
return email;
}
public void setEmail(String email)
{
this.email = email;
}
public Long getRegisID()
{
return regisID;
}
public void setRegisID(Long regisID)
{
this.regisID = regisID;
}
}