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]