You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Joe Hertz <jh...@patriot.net> on 2004/04/01 14:31:46 UTC
Unhandled Exception in the Validator?
I'm using a recently 1.2 nightly build, but I suspect this isn't a 1.2 issue
necessarily. I think I'm pushing the infrastructure though.
Here's how:
I have a DynaValidatorActionForm which contains a List.
The List elements, in this case, happen to be instances of another DynaBean,
which inside of the "populating" Action, I instantiate, populate, and add to
the List.
So the page displays fine. And on it, say I enter "eweew" in a text box entry
corresponding to a form property that I have told the validator is
depends=date (datePatternStrict MM/dd/yyyy).
The validator works (I get my message generated by the backend [no popup], as
the docs say it would be handled because I am using a IndexedListProperty to
get into the individual items.
BUT the following exception occurs from inside of the validator and I didn't
see anything in bugzilla.
07:17:19,252 WARN GenericTypeValidator:222 - eweew
java.text.ParseException: Unparseable date: "eweew"
at java.text.DateFormat.parse(DateFormat.java:334)
at org.apache.commons.validator.GenericTypeValidator.formatDate
(GenericTypeValidator.java:213)
at org.apache.struts.validator.FieldChecks.validateDate
(FieldChecks.java:519)
at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.apache.commons.validator.ValidatorAction.executeValidationMethod
(ValidatorAction.java:570)
at org.apache.commons.validator.Field.validateForRule(Field.java:808)
at org.apache.commons.validator.Field.validate(Field.java:887)
at org.apache.commons.validator.Form.validate(Form.java:171)
at org.apache.commons.validator.Validator.validate(Validator.java:367)
at org.apache.struts.validator.DynaValidatorActionForm.validate
(DynaValidatorActionForm.java:77)
at org.apache.struts.action.RequestProcessor.processValidate
(RequestProcessor.java:921)
at org.apache.struts.action.RequestProcessor.process
(RequestProcessor.java:206)
at org.apache.struts.action.ActionServlet.process
(ActionServlet.java:1146)
at org.apache.struts.action.ActionServlet.doPost
(ActionServlet.java:410)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:260)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeN
ext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeN
ext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke
(StandardContext.java:2396)
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:180)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeN
ext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke
(ErrorDispatcherValve.java:170)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeN
ext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:172)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeN
ext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeN
ext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke
(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke
(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service
(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:405)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnect
ion(Http11Protocol.java:380)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt
(PoolTcpEndpoint.java:508)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:533)
at java.lang.Thread.run(Thread.java:536)
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: Unhandled Exception in the Validator?
Posted by Niall Pemberton <ni...@blueyonder.co.uk>.
Its just logging.
Its always done the date validation using SimpleDateFormat.parse() and using
the ParseException to return "invalid" - for some reason in 1.2 these are
now being "logged" - all you need to do is set your logging to ignore
warnings for commons validator.
Its not because you're pushing the infrastructure - looks like its going to
happen for any old date validation in 1.2 - raise a bugzilla if you're not
happy with just changing your logging configuration.
Niall
----- Original Message -----
From: "Joe Hertz" <jh...@patriot.net>
To: <st...@jakarta.apache.org>
Sent: Thursday, April 01, 2004 1:31 PM
Subject: Unhandled Exception in the Validator?
> I'm using a recently 1.2 nightly build, but I suspect this isn't a 1.2
issue
> necessarily. I think I'm pushing the infrastructure though.
>
> Here's how:
>
> I have a DynaValidatorActionForm which contains a List.
>
> The List elements, in this case, happen to be instances of another
DynaBean,
> which inside of the "populating" Action, I instantiate, populate, and add
to
> the List.
>
> So the page displays fine. And on it, say I enter "eweew" in a text box
entry
> corresponding to a form property that I have told the validator is
> depends=date (datePatternStrict MM/dd/yyyy).
>
> The validator works (I get my message generated by the backend [no popup],
as
> the docs say it would be handled because I am using a IndexedListProperty
to
> get into the individual items.
>
> BUT the following exception occurs from inside of the validator and I
didn't
> see anything in bugzilla.
>
> 07:17:19,252 WARN GenericTypeValidator:222 - eweew
>
> java.text.ParseException: Unparseable date: "eweew"
>
> at java.text.DateFormat.parse(DateFormat.java:334)
> at org.apache.commons.validator.GenericTypeValidator.formatDate
> (GenericTypeValidator.java:213)
> at org.apache.struts.validator.FieldChecks.validateDate
> (FieldChecks.java:519)
> at sun.reflect.GeneratedMethodAccessor47.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at
> org.apache.commons.validator.ValidatorAction.executeValidationMethod
> (ValidatorAction.java:570)
> at org.apache.commons.validator.Field.validateForRule(Field.java:808)
> at org.apache.commons.validator.Field.validate(Field.java:887)
> at org.apache.commons.validator.Form.validate(Form.java:171)
> at org.apache.commons.validator.Validator.validate(Validator.java:367)
> at org.apache.struts.validator.DynaValidatorActionForm.validate
> (DynaValidatorActionForm.java:77)
> at org.apache.struts.action.RequestProcessor.processValidate
> (RequestProcessor.java:921)
> at org.apache.struts.action.RequestProcessor.process
> (RequestProcessor.java:206)
> at org.apache.struts.action.ActionServlet.process
> (ActionServlet.java:1146)
> at org.apache.struts.action.ActionServlet.doPost
> (ActionServlet.java:410)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> (ApplicationFilterChain.java:247)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter
> (ApplicationFilterChain.java:193)
> at org.apache.catalina.core.StandardWrapperValve.invoke
> (StandardWrapperValve.java:260)
> at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eN
> ext(StandardPipeline.java:643)
> at org.apache.catalina.core.StandardPipeline.invoke
> (StandardPipeline.java:480)
> at org.apache.catalina.core.ContainerBase.invoke
> (ContainerBase.java:995)
> at org.apache.catalina.core.StandardContextValve.invoke
> (StandardContextValve.java:191)
> at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eN
> ext(StandardPipeline.java:643)
> at org.apache.catalina.core.StandardPipeline.invoke
> (StandardPipeline.java:480)
> at org.apache.catalina.core.ContainerBase.invoke
> (ContainerBase.java:995)
> at org.apache.catalina.core.StandardContext.invoke
> (StandardContext.java:2396)
> at org.apache.catalina.core.StandardHostValve.invoke
> (StandardHostValve.java:180)
> at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eN
> ext(StandardPipeline.java:643)
> at org.apache.catalina.valves.ErrorDispatcherValve.invoke
> (ErrorDispatcherValve.java:170)
> at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eN
> ext(StandardPipeline.java:641)
> at org.apache.catalina.valves.ErrorReportValve.invoke
> (ErrorReportValve.java:172)
> at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eN
> ext(StandardPipeline.java:641)
> at org.apache.catalina.core.StandardPipeline.invoke
> (StandardPipeline.java:480)
> at org.apache.catalina.core.ContainerBase.invoke
> (ContainerBase.java:995)
> at org.apache.catalina.core.StandardEngineValve.invoke
> (StandardEngineValve.java:174)
> at
>
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eN
> ext(StandardPipeline.java:643)
> at org.apache.catalina.core.StandardPipeline.invoke
> (StandardPipeline.java:480)
> at org.apache.catalina.core.ContainerBase.invoke
> (ContainerBase.java:995)
> at org.apache.coyote.tomcat4.CoyoteAdapter.service
> (CoyoteAdapter.java:223)
> at org.apache.coyote.http11.Http11Processor.process
> (Http11Processor.java:405)
> at
>
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ct
> ion(Http11Protocol.java:380)
> at org.apache.tomcat.util.net.TcpWorkerThread.runIt
> (PoolTcpEndpoint.java:508)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
> (ThreadPool.java:533)
> at java.lang.Thread.run(Thread.java:536)
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org