Hold up, think I found it... trying to pass Validator as well, doesn't match the signature in FieldChecks...
-- Frank W. Zammetti Founder and Chief Software Architect Omnytex Technologies http://www.omnytex.com AIM/Yahoo: fzammetti MSN: [EMAIL PROTECTED] Author of "Practical Ajax Projects With Java Technology" (2006, Apress, ISBN 1-59059-695-1) Java Web Parts - http://javawebparts.sourceforge.net Supplying the wheel, so you don't have to reinvent it! On Wed, October 4, 2006 5:43 pm, Frank W. Zammetti wrote: > Hello... trying to use Commons Validator 1.3.0 with Struts 1.2.9, seeing > the following error... anyone have any ideas? Everything seems fine until > the first check... config files follow trace. Thanks! > > > 20061004-17:29:17,766 DEBUG [Servlet.Engine.Transports : 0] > (ModuleUtils.java:167) Get module name for path > /testView/testValidation.do > 20061004-17:29:17,766 DEBUG [Servlet.Engine.Transports : 0] > (ModuleUtils.java:191) Module name found: default > 20061004-17:29:17,812 DEBUG [Servlet.Engine.Transports : 0] > (RequestProcessor.java:172) Processing a 'POST' for path > '/testView/testValidation' > 20061004-17:29:17,812 DEBUG [Servlet.Engine.Transports : 0] > (RequestUtils.java:200) Looking for ActionForm bean instance in scope > 'request' under attribute key 'valForm' > 20061004-17:29:17,828 DEBUG [Servlet.Engine.Transports : 0] > (RequestUtils.java:294) Creating new DynaActionForm instance of type > 'org.apache.struts.validator.DynaValidatorForm' > 20061004-17:29:17,828 DEBUG [Servlet.Engine.Transports : 0] > (RequestUtils.java:300) --> > DynaActionForm[dynaClass=valForm,firstName=,lastName=] > 20061004-17:29:17,828 DEBUG [Servlet.Engine.Transports : 0] > (RequestProcessor.java:339) Storing ActionForm bean instance in scope > 'request' under attribute key 'valForm' > 20061004-17:29:17,828 DEBUG [Servlet.Engine.Transports : 0] > (RequestProcessor.java:805) Populating bean properties from this request > 20061004-17:29:17,828 DEBUG [Servlet.Engine.Transports : 0] > (BeanUtilsBean.java:795) > BeanUtils.populate(DynaActionForm[dynaClass=valForm,firstName=,lastName=], > {firstName=[Ljava.lang.String;@7c51607, > lastName=[Ljava.lang.String;@73fd607}) > 20061004-17:29:17,828 DEBUG [Servlet.Engine.Transports : 0] > (BeanUtilsBean.java:876) > setProperty(DynaActionForm[dynaClass=valForm,firstName=,lastName=], > firstName, []) > 20061004-17:29:17,828 DEBUG [Servlet.Engine.Transports : 0] > (ConvertUtilsBean.java:418) Convert string '' to class 'java.lang.String' > 20061004-17:29:17,828 DEBUG [Servlet.Engine.Transports : 0] > (ConvertUtilsBean.java:426) Using converter > [EMAIL PROTECTED] > 20061004-17:29:17,828 DEBUG [Servlet.Engine.Transports : 0] > (BeanUtilsBean.java:876) > setProperty(DynaActionForm[dynaClass=valForm,firstName=,lastName=], > lastName, []) > 20061004-17:29:17,828 DEBUG [Servlet.Engine.Transports : 0] > (ConvertUtilsBean.java:418) Convert string '' to class 'java.lang.String' > 20061004-17:29:17,828 DEBUG [Servlet.Engine.Transports : 0] > (ConvertUtilsBean.java:426) Using converter > [EMAIL PROTECTED] > 20061004-17:29:17,828 DEBUG [Servlet.Engine.Transports : 0] > (RequestProcessor.java:948) Validating input form properties > 20061004-17:29:17,891 DEBUG [Servlet.Engine.Transports : 0] > (ValidatorResources.java:453) Form 'valForm' found in formset 'default' > for locale 'en_US_DO' > 20061004-17:29:17,938 ERROR [Servlet.Engine.Transports : 0] > (DynaValidatorForm.java:112) No such validation method: > org.apache.struts.validator.FieldChecks.validateRequired(java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > javax.servlet.http.HttpServletRequest) > org.apache.commons.validator.ValidatorException: No such validation > method: > org.apache.struts.validator.FieldChecks.validateRequired(java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > javax.servlet.http.HttpServletRequest) > at > org.apache.commons.validator.ValidatorAction.loadValidationMethod(ValidatorAction.java:603) > at > org.apache.commons.validator.ValidatorAction.executeValidationMethod(ValidatorAction.java:533) > at org.apache.commons.validator.Field.validateForRule(Field.java:766) > at org.apache.commons.validator.Field.validate(Field.java:846) > at org.apache.commons.validator.Form.validate(Form.java:290) > at org.apache.commons.validator.Validator.validate(Validator.java:354) > at > org.apache.struts.validator.DynaValidatorForm.validate(DynaValidatorForm.java:110) > at > org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:950) > at > org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:207) > at > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) > at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110) > at > com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174) > at > com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313) > at > com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116) > at > com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283) > at > com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42) > at > com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40) > at > com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:76) > at > com.company.security.j2ee.filter.InactivityFilter.doFilter(InactivityFilter.java:133) > at > com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:132) > at > com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:71) > at > com.company.security.nonportal.filter.AuthFilter.doFilter(AuthFilter.java:358) > at > com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:132) > at > com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:71) > at > com.company.security.nonportal.filter.CrossOrgValidation.doFilter(CrossOrgValidation.java:153) > at > com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:132) > at > com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:71) > at > com.company.security.nonportal.filter.OrgCodeFilter.doFilter(OrgCodeFilter.java:178) > at > com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:132) > at > com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:71) > at > com.company.security.j2ee.filter.CrossSiteScriptingFilter.doFilter(CrossSiteScriptingFilter.java:120) > at > com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:132) > at > com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:71) > at > com.company.security.nonportal.filter.URLParsingFilter.doFilter(URLParsingFilter.java:85) > at > com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:132) > at > com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:71) > at > com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:1010) > at > com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:592) > at > com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:204) > at > com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:125) > at > com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:286) > at > com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71) > at > com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:182) > at > com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334) > at > com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56) > at > com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:615) > at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439) > at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:912) > 20061004-17:29:17,938 DEBUG [Servlet.Engine.Transports : 0] > (RequestProcessor.java:953) No errors detected, accepting input > 20061004-17:29:17,938 DEBUG [Servlet.Engine.Transports : 0] > (RequestProcessor.java:267) Looking for Action instance for class > com.company.app.testview.action.TestViewValidationTestAction > 20061004-17:29:17,953 DEBUG [Servlet.Engine.Transports : 0] > (RequestProcessor.java:288) Creating new Action instance > 20061004-17:29:17,984 DEBUG [Servlet.Engine.Transports : 0] > (RequestProcessor.java:376) > processForwardConfig(ForwardConfig[name=validationGOOD,path=/testView/validationGOOD.jsp,redirect=false,contextRelative=false,module=null]) > > > validator-rules.xml: > > > <!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD > Commons Validator Rules Configuration 1.1.3//EN" > "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd"> > <form-validation> > <global> > <validator name="required" > classname="org.apache.struts.validator.FieldChecks" > method="validateRequired" > methodParams="java.lang.Object, > org.apache.commons.validator.ValidatorAction, > org.apache.commons.validator.Field, > org.apache.struts.action.ActionMessages, > javax.servlet.http.HttpServletRequest" > msg="errors.required" /> > </global> > </form-validation> > > > struts-config.xml: > > > <?xml version="1.0" encoding="ISO-8859-1" ?> > <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts > Configuration 1.1//EN" > "http://jakarta.apache.org/dtds/struts-config_1_0.dtd"> > <struts-config> > <form-beans> > <form-bean name="valForm" > type="org.apache.struts.validator.DynaValidatorForm"> > <form-property name="firstName" type="java.lang.String" /> > <form-property name="lastName" type="java.lang.String" /> > </form-bean> > </form-beans> > <action-mappings> > <action path="/testView/testValidation" > input="/testView/validationBAD.jsp" > type="com.company.app.testview.action.TestViewValidationTestAction" > name="valForm" scope="request" validate="true"> > <forward name="validationGOOD" path="/testView/validationGOOD.jsp" > /> > </action> > </action-mappings> > <message-resources parameter="com.company.app.app_resources" > null="false" /> > <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> > > > validation.xml: > > > <?xml version="1.0" encoding="ISO-8859-1" ?> > <!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation//DTD > Commons Validator Rules Configuration 1.1.3//EN" > "http://jakarta.apache.org/commons/dtds/validator_1_1_3.dtd"> > <form-validation> > <formset> > <form name="valForm"> > <field property="firstName" depends="required"> > <arg0 key="firstName" resource="false" /> > </field> > <field property="lastName" depends="required"> > <arg0 key="lastName" resource="false" /> > </field> > </form> > </formset> > </form-validation> > > > app_resources.properties (located in WEB-INF/classes/com/company/app): > > > errors.required={0} is required. > > > (validation.xml and validator-rules.xml both in WEB-INF) > > > > Frank > > > -- > Frank W. Zammetti > Founder and Chief Software Architect > Omnytex Technologies > http://www.omnytex.com > AIM/Yahoo: fzammetti > MSN: [EMAIL PROTECTED] > Author of "Practical Ajax Projects With Java Technology" > (2006, Apress, ISBN 1-59059-695-1) > Java Web Parts - http://javawebparts.sourceforge.net > Supplying the wheel, so you don't have to reinvent it! > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]