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]