//Bean class
import org.apache.struts.validator.*;
public class Bean extends ValidatorForm
{
String user="";
String email="";
String pass="";
//all getter setter
}
///MessageResources.properties
inputForm.user=USER NAME
inputForm.email=E-MAIL ID
inputForm.pass=PASSWORD
errors.required={0}is required.
//validator.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE form-validation SYSTEM "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd" PUBLIC "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN">
<form-validation> -<formset>
<form name="Bean">
<field depends="required" property="user"><arg0 key="inputForm.user"/> </field>
<field depends="required" property="email"><arg0 key="inputForm.email"/> </field>
<field depends="required" property="pass"><arg0 key="inputForm.pass"/> </field>
</form> </formset> </form-validation
//struts-config
<?xml version="1.0" encoding="WINDOWS-1252"?>
<!DOCTYPE struts-config SYSTEM "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd" PUBLIC "-//Apache Software Foundation//DTD
Struts Configuration 1.1//EN">
-<struts-config>
<form-beans>
<form-bean type="bean.Bean" name="Bean"/>
</form-beans>
<action-mappings>
<action type="strutsvalidation.LoginAction" name="Bean" validate="true" input="/index.jsp" scope="request" path="/login">
<forward name="success" path="/success.jsp"/> </action>
</action-mappings>
<message-resources null="false" parameter="strutsvalidation.MessageResources"/>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" property="pathnames"/>
</plug-in>
</struts-config>
//index.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1252"%>
<%@taglib prefix="html" uri="http://jakarta.apache.org/struts/tags-html"%>
<%@taglib prefix="bean" uri="http://jakarta.apache.org/struts/tags-bean"%>
<html:html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
<title>index</title>
</head>
<body>
<html:errors/>
<html:form action="/login.do" method="POST" onsubmit="return validateBean(this);">
<bean:message key="inputForm.user"/> <html:text property="user"/><br/>
<bean:message key="inputForm.email"/><html:text property="email"/><br/>
<bean:message key="inputForm.pass"/><html:password property="pass"/><br/>
<html:submit>SUBMIT</html:submit>
</html:form>
<html:javascript formName="Bean"/>
</body>
</html:html>
//ERROR
500 Internal Server Error
java.lang.NullPointerException: Depends string "required" was not found in validator-rules.xml.
at org.apache.struts.taglib.html.JavascriptValidatorTag.doStartTag(JavascriptValidatorTag.java:348) at _index._jspService(_index.java:172)
[/index.jsp] at com.orionserver[Oracle Containers for
J2EE 10g (10.1.3.5.0) ].http.OrionHttpJspPage.service(OrionHttpJspPage.java:59) at oracle.jsp.runtimev2.JspPageTable.compileAndServe(JspPageTable.java:735) at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:425) at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594) at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:734) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:391) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:908) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:458) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:226) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:127) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:116) at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260) at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234) at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29) at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879) at com.evermind[Oracle Containers for J2EE 10g (10.1.3.5.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298) at java.lang.Thread.run(Thread.java:595)