Problem Solved: After rooting around in my ApplicationResources.properties file I found a misspelling in my message name. I would have expected the framework to catch the error in the lookup similar to what happens in other areas of struts when a message resource cannot be found. Typically a message tells you that XXX.title could not be found. Perhaps this test is done within the validation framework and my bypass caused an unforseen problem. Scott Ryan Developer First Bank Data Corporation Work: (303) 235-1485 Cell: (303 263-3044 >>> [EMAIL PROTECTED] 07/25/01 01:39PM >>> 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