I am using the Validation Framework within struts and I need to perform some validations that I cannot do using the framework. I have created an ActionForm that extends ValidatorForm and in my validate method I first call super.validate. Once the errors have been returned I then perform my own additonal validations and add to the errors object returned from the super.validate. I then return the errors object from my validate routine. All appears to work ok if I use the standard struts errors tags to present the errors on the page. However if I use the tags that come with the validator i get the following exception only when processing errors that I created: Error: 500 Location: /EnrollmentCapture.jspInternal Servlet Error:javax.servlet.ServletException at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:459) at _0002fEnrollmentCapture_0002ejspEnrollmentCapture_jsp_2._jspService(_0002fEnrollmentCapture_0002ejspEnrollmentCapture_jsp_2.java:1941) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:177) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404) at org.apache.tomcat.core.Handler.service(Handler.java:286) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:194) at org.apache.struts.action.ActionServlet.processValidate(ActionServlet.java:2137) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1564) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404) at org.apache.tomcat.core.Handler.service(Handler.java:286) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743) at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210) at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416) at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498) at java.lang.Thread.run(Thread.java:484) Root cause: java.lang.NullPointerException at java.util.Hashtable.put(Hashtable.java:380) at org.apache.jasper.runtime.PageContextImpl.setAttribute(PageContextImpl.java:251) at com.wintecinc.struts.taglib.html.ErrorsTag.doAfterBody(ErrorsTag.java:296) at _0002fEnrollmentCapture_0002ejspEnrollmentCapture_jsp_2._jspService(_0002fEnrollmentCapture_0002ejspEnrollmentCapture_jsp_2.java:443) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:177) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404) at org.apache.tomcat.core.Handler.service(Handler.java:286) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.facade.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:194) at org.apache.struts.action.ActionServlet.processValidate(ActionServlet.java:2137) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1564) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404) at org.apache.tomcat.core.Handler.service(Handler.java:286) at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372) at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743) at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210) at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416) at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498) at java.lang.Thread.run(Thread.java:484) I am sure it is the way I am creating the additional errors but it looks very straightforward. Here are the tags I am putting in my JSP page: <validator:errorsExist> <bean:message key="errors.header"/> <validator:errors id="error"> <li><bean:write name="error"/></li> </validator:errors> </validator:errorsExist> Here is a sample of how I am creating my error errors.add("password",new ActionError("enrollmentform.error.password.maskmsg")); Any tips would be appreciated. Scott Ryan Developer First Bank Data Corporation Work: (303) 235-1485 Cell: (303 263-3044