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]

Reply via email to