Do you have the DefaultWorkflowInterceptor applied? If there's an error,
it will return INPUT without executing the action...

> -----Original Message-----
> From: Francisco Hernandez [mailto:[EMAIL PROTECTED] 
> Sent: Sunday, November 23, 2003 1:23 PM
> To: [EMAIL PROTECTED]
> Subject: Re: [OS-webwork] validator for the optional int field
> 
> 
> one thing i noticed (from lates cvs head as of a few minutes from 
> sending this email) is that urls like 
> foo.action?myInt=breakMe (myInt is 
> an int, surprised?) are causing INPUT to be returned, i dont 
> think that 
> was happening before, same thing with Date Long Integer long 
> propertys,
> 
> Jason Carreira wrote:
> > What's the expression you're applying to the field? I'll 
> see if I can 
> > figure out what the issue is...
> > 
> > 
> >>-----Original Message-----
> >>From: Taavi Tiirik [mailto:[EMAIL PROTECTED]
> >>Sent: Sunday, November 23, 2003 12:08 PM
> >>To: [EMAIL PROTECTED]
> >>Subject: Re: [OS-webwork] validator for the optional int field
> >>
> >>
> >>
> >>
> >>>This is the problem of empty form fields causing type
> >>
> >>conversion field
> >>
> >>>errors that I fixed last night... Try the latest
> >>
> >>Excellent. Thanks!
> >>
> >>Now there is still this null pointer exception that happens
> >>if I use validator of type fieldexpression and if the field 
> >>is left blank i.e. when I call validationtest.action?year=
> >>
> >>java.lang.NullPointerException
> >>    at ognl.OgnlOps.doubleValue(OgnlOps.java:97)
> >>    at ognl.OgnlOps.greater(OgnlOps.java:395)
> >>    at ognl.ASTGreater.getValueBody(ASTGreater.java:51)
> >>    at ognl.SimpleNode.getValue(SimpleNode.java:167)
> >>    at ognl.Ognl.getValue(Ognl.java:335)
> >>    at ognl.Ognl.getValue(Ognl.java:310)
> >>    at 
> com.opensymphony.xwork.util.OgnlValueStack.findValue(OgnlValue
> >>Stack.java:92)
> >>    at 
> >>com.opensymphony.xwork.validator.validators.ValidatorSupport.g
> >>etFieldValue(V
> >>alidatorSupport.java:90)
> >>    at 
> >>com.opensymphony.xwork.validator.validators.FieldExpressionVal
> >>idator.validat
> >>e(FieldExpressionValidator.java:37)
> >>    at 
> >>com.opensymphony.xwork.validator.ActionValidatorManager.valida
> >>te(ActionValid
> >>atorManager.java:69)
> >>    at 
> >>com.opensymphony.xwork.validator.ActionValidatorManager.valida
> >>te(ActionValid
> >>atorManager.java:55)
> >>    at 
> >>com.opensymphony.xwork.validator.ValidationInterceptor.before(
> >>ValidationInte
> >>rceptor.java:36)
> >>    at 
> >>com.opensymphony.xwork.interceptor.AroundInterceptor.intercept
> >>(AroundInterce
> >>ptor.java:36)
> >>    at 
> >>com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultA
> >>ctionInvocatio
> >>n.java:169)
> >>    at 
> >>com.opensymphony.xwork.interceptor.AroundInterceptor.intercept
> >>(AroundInterce
> >>ptor.java:37)
> >>    at 
> >>com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultA
> >>ctionInvocatio
> >>n.java:169)
> >>    at 
> >>com.opensymphony.xwork.interceptor.AroundInterceptor.intercept
> >>(AroundInterce
> >>ptor.java:37)
> >>    at 
> >>com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultA
> >>ctionInvocatio
> >>n.java:169)
> >>    at 
> >>com.opensymphony.xwork.interceptor.AroundInterceptor.intercept
> >>(AroundInterce
> >>ptor.java:37)
> >>    at 
> >>com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultA
> >>ctionInvocatio
> >>n.java:169)
> >>    at 
> >>com.opensymphony.xwork.interceptor.TimerInterceptor.intercept(
> >>TimerIntercept
> >>or.java:62)
> >>    at 
> >>com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultA
> >>ctionInvocatio
> >>n.java:169)
> >>    at 
> >>com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActio
> >>nProxy.java:11
> >>6)
> >>    at 
> >>com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceA
> >>ction(ServletD
> >>ispatcher.java:182)
> >>    at 
> >>com.opensymphony.webwork.dispatcher.ServletDispatcher.service(
> >>ServletDispatc
> >>her.java:162)
> >>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> >>    at 
> >>org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> >>er(Application
> >>FilterChain.java:247)
> >>    at 
> >>org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> >>cationFilterCh
> >>ain.java:193)
> >>    at 
> >>com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFi
> >>lter(RequestLi
> >>fecycleFilter.java:62)
> >>    at 
> >>org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> >>er(Application
> >>FilterChain.java:213)
> >>    at 
> >>org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> >>cationFilterCh
> >>ain.java:193)
> >>    at 
> >>cmw.filter.SetCharacterEncoding.doFilter(SetCharacterEncoding.
> >>java:169)
> >>    at 
> >>org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> >>er(Application
> >>FilterChain.java:213)
> >>    at 
> >>org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> >>cationFilterCh
> >>ain.java:193)
> >>    at cmw.filter.Persistence.doFilter(Persistence.java:70)
> >>    at 
> >>org.apache.catalina.core.ApplicationFilterChain.internalDoFilt
> >>er(Application
> >>FilterChain.java:213)
> >>    at 
> >>org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli
> >>cationFilterCh
> >>ain.java:193)
> >>    at 
> >>org.apache.catalina.core.StandardWrapperValve.invoke(StandardW
> >>rapperValve.ja
> >>va:256)
> >>    at 
> >>org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> >>eContext.invok
> >>eNext(StandardPipeline.java:643)
> >>    at
> >>org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> >>ine.java:480)
> >>    at 
> >>org.apache.catalina.core.ContainerBase.invoke(ContainerBase.
> java:995)
> >>    at 
> >>org.apache.catalina.core.StandardContextValve.invoke(StandardC
> >>ontextValve.ja
> >>va:191)
> >>    at 
> >>org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> >>eContext.invok
> >>eNext(StandardPipeline.java:643)
> >>    at
> >>org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> >>ine.java:480)
> >>    at 
> >>org.apache.catalina.core.ContainerBase.invoke(ContainerBase.
> java:995)
> >>    at
> >>org.apache.catalina.core.StandardContext.invoke(StandardContex
> >>t.java:2416)
> >>    at 
> >>org.apache.catalina.core.StandardHostValve.invoke(StandardHost
> >>Valve.java:180
> >>)
> >>    at 
> >>org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> >>eContext.invok
> >>eNext(StandardPipeline.java:643)
> >>    at 
> >>org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDi
> >>spatcherValve.
> >>java:171)
> >>    at 
> >>org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> >>eContext.invok
> >>eNext(StandardPipeline.java:641)
> >>    at 
> >>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport
> >>Valve.java:172
> >>)
> >>    at 
> >>org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> >>eContext.invok
> >>eNext(StandardPipeline.java:641)
> >>    at
> >>org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> >>ine.java:480)
> >>    at 
> >>org.apache.catalina.core.ContainerBase.invoke(ContainerBase.
> java:995)
> >>    at 
> >>org.apache.catalina.core.StandardEngineValve.invoke(StandardEn
> >>gineValve.java
> >>:174)
> >>    at 
> >>org.apache.catalina.core.StandardPipeline$StandardPipelineValv
> >>eContext.invok
> >>eNext(StandardPipeline.java:643)
> >>    at
> >>org.apache.catalina.core.StandardPipeline.invoke(StandardPipel
> >>ine.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(Http11Process
> >>or.java:601)
> >>    at 
> >>org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle
> >>r.processConne
> >>ction(Http11Protocol.java:392)
> >>    at
> >>org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoi
> >>nt.java:565)
> >>    at 
> >>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> >>ThreadPool.jav
> >>a:619)
> >>    at java.lang.Thread.run(Thread.java:536)
> >>
> >>
> >>
> >>
> >>
> >>>>-----Original Message-----
> >>>>From: Taavi Tiirik [mailto:[EMAIL PROTECTED]
> >>>>Sent: Sunday, November 23, 2003 10:15 AM
> >>>>To: [EMAIL PROTECTED]
> >>>>Subject: Re: [OS-webwork] validator for the optional int field
> >>>>
> >>>>
> >>>>
> >>>>I am using Integer instead of int now but whenever
> >>>>the input field is left blank I am still getting this
> >>
> >>Invalid field
> >>
> >>>>value for field "year" message.
> >>>>
> >>>>So my results so far are like this:
> >>>>
> >>>>these behave as expected:
> >>>>    validationtest.action
> >>>>    validationtest.action?year=12312313
> >>>>
> >>>>this gives "Invalid field value for field "year" message:
> >>>>    validationtest.action?year=
> >>>>
> >>>>I feel that it should not give that error. Removing
> >>>>"year=" from url is not an option because this kind
> >>>>of url is what we get if there is an input form field
> >>>>that is left blank.
> >>>>
> >>>>So, what to you think what should be the ww2 way
> >>>>of validating this kind of field?
> >>>>
> >>>>best wishes,
> >>>>Taavi
> >>>>
> >>>>
> >>>>----- Original Message -----
> >>>>From: "Jason Carreira" <[EMAIL PROTECTED]>
> >>>>To: <[EMAIL PROTECTED]>
> >>>>Sent: Sunday, November 23, 2003 4:15 PM
> >>>>Subject: RE: [OS-webwork] validator for the optional int field
> >>>>
> >>>>
> >>>>
> >>>>>Did you try the IntRangeFieldValidator? It doesn't require
> >>>>
> >>>>a value...
> >>>>
> >>>>>Actually, if you have a primitive int, it will always get a
> >>>>
> >>>>value and
> >>>>
> >>>>>validate it... If it's an Integer you can have a null
> >>>>
> >>>>value, in which
> >>>>
> >>>>>case it would ignore it.
> >>>>>
> >>>>>
> >>>>>>-----Original Message-----
> >>>>>>From: Taavi Tiirik [mailto:[EMAIL PROTECTED]
> >>>>>>Sent: Sunday, November 23, 2003 8:48 AM
> >>>>>>To: [EMAIL PROTECTED]
> >>>>>>Subject: Re: [OS-webwork] validator for the optional int field
> >>>>>>
> >>>>>>
> >>>>>>Sorry for not being clear ")
> >>>>>>
> >>>>>>I would like to specify field error message, if the field is
> >>>>>>filled with a value but this value is outside of some
> >>>>
> >>>>min-max range.
> >>>>
> >>>>>>And I would like to see this field pass this
> >>
> >>valiation rule if
> >>
> >>>>>>the field is left empty.
> >>>>>>
> >>>>>>So something like this comes to my mind:
> >>>>>>
> >>>>>> <field name="year">
> >>>>>>  <field-validator type="optional-int">
> >>>>>>   <param name="min">6</param>
> >>>>>>   <param name="max">10</param>
> >>>>>>   <message>bar must be between ${min} and ${max},
> >>
> >>current value
> >>
> >>>>>>is ${bar}.</message>
> >>>>>>  </field-validator>
> >>>>>> </field>
> >>>>>>
> >>>>>>
> >>>>>>>What do you want to validate about that field?
> >>>>>>>
> >>>>>>>
> >>>>>>>>-----Original Message-----
> >>>>>>>>From: Taavi Tiirik [mailto:[EMAIL PROTECTED]
> >>>>>>>>Sent: Sunday, November 23, 2003 8:04 AM
> >>>>>>>>To: [EMAIL PROTECTED]
> >>>>>>>>Subject: [OS-webwork] validator for the optional int field
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>How should I write a validator for the optional
> >>
> >>int field in
> >>
> >>>>>>>>ww2?
> >>>>>>>>
> >>>>>>>>I have getter and setter in my action:
> >>>>>>>>public int getYear(){ return year; }
> >>>>>>>>public void setYear( int year ){ this.year = year; }
> >>>>>>>>
> >>>>>>>>input field is defined like this:
> >>>>>>>>#tag( TextField "label='year'" "name='year'" "value=year"
> >>>>>>
> >>>>>>"size='5'"
> >>>>>>
> >>>>>>>>)
> >>>>>>>>
> >>>>>>>>What should I put into action-validation.xml?
> >>>>>>>>
> >>>>>>>>Taavi
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>-------------------------------------------------------
> >>>>>>>>This SF.net email is sponsored by: SF.net Giveback
> >>>>
> >>>>Program. Does
> >>>>
> >>>>>>>>SourceForge.net help you be more productive?  Does it
> >>>>
> >>>>help you
> >>>>
> >>>>>>>>create better code?  SHARE THE LOVE, and help us help
> >>>>
> >>>>YOU!  Click
> >>>>
> >>>>>>>>Here: http://sourceforge.net/donate/
> >>>>>>>>_______________________________________________
> >>>>>>>>Opensymphony-webwork mailing list 
> >>>>>>>>[EMAIL PROTECTED]
> >>>>>>>>
> >>>>
> >>>>https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
> >>>>
> >>>>>>>
> >>>>>>>-------------------------------------------------------
> >>>>>>>This SF.net email is sponsored by: SF.net Giveback Program.
> >>>>>>>Does SourceForge.net help you be more productive?  Does it 
> >>>>>>>help
> >>>>>>
> >>>>>>you create
> >>>>>>
> >>>>>>>better code?  SHARE THE LOVE, and help us help YOU!  Click
> >>>>>>>Here: http://sourceforge.net/donate/ 
> >>>>>>>_______________________________________________
> >>>>>>>Opensymphony-webwork mailing list 
> >>>>>>>[EMAIL PROTECTED]
> >>>>>>>
> >>>>
> >>>>https://lists.sourceforge.net/lists/listinfo/opensymphony-webw
> >>>
> >>>ork
> >>>
> >>>>>
> >>>>>
> >>>>>-------------------------------------------------------
> >>>>>This SF.net email is sponsored by: SF.net Giveback
> >>
> >>Program. Does
> >>
> >>>>>SourceForge.net help you be more productive?  Does it help you
> >>>>>create better code?  SHARE THE LOVE, and help us help 
> >>
> >>YOU!  Click
> >>
> >>>>>Here: http://sourceforge.net/donate/
> >>>>>_______________________________________________
> >>>>>Opensymphony-webwork mailing list 
> >>>>>[EMAIL PROTECTED]
> >>>>>
> >>
> >>https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
> >>
> >>>>
> >>>>-------------------------------------------------------
> >>>>This SF.net email is sponsored by: SF.net Giveback Program. Does
> >>>>SourceForge.net help you be more productive?  Does it help you 
> >>>>create better code?  SHARE THE LOVE, and help us help YOU!  Click 
> >>>>Here: http://sourceforge.net/donate/ 
> >>>>_______________________________________________
> >>>>Opensymphony-webwork mailing list 
> >>>>[EMAIL PROTECTED]
> >>>>https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
> >>>>
> >>>
> >>>
> >>>-------------------------------------------------------
> >>>This SF.net email is sponsored by: SF.net Giveback Program. Does
> >>>SourceForge.net help you be more productive?  Does it help 
> >>
> >>you create
> >>
> >>>better code?  SHARE THE LOVE, and help us help YOU!  Click Here:
> >>>http://sourceforge.net/donate/ 
> >>>_______________________________________________
> >>>Opensymphony-webwork mailing list 
> >>>[EMAIL PROTECTED]
> >>>https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
> >>>
> >>>
> >>>-------------------------------------------------------
> >>>This SF.net email is sponsored by: SF.net Giveback Program. Does
> >>>SourceForge.net help you be more productive?  Does it help 
> >>
> >>you create
> >>
> >>>better code?  SHARE THE LOVE, and help us help YOU!  Click Here:
> >>>http://sourceforge.net/donate/ 
> >>>_______________________________________________
> >>>Opensymphony-webwork mailing list 
> >>>[EMAIL PROTECTED]
> >>>https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
> >>>
> >>
> >>
> >>
> >>-------------------------------------------------------
> >>This SF.net email is sponsored by: SF.net Giveback Program.
> >>Does SourceForge.net help you be more productive?  Does it 
> >>help you create better code?  SHARE THE LOVE, and help us 
> >>help YOU!  Click Here: http://sourceforge.net/donate/ 
> >>_______________________________________________
> >>Opensymphony-webwork mailing list 
> >>[EMAIL PROTECTED]
> >>https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
> >>
> > 
> > 
> > 
> > -------------------------------------------------------
> > This SF.net email is sponsored by: SF.net Giveback Program. Does 
> > SourceForge.net help you be more productive?  Does it help 
> you create 
> > better code?  SHARE THE LOVE, and help us help YOU!  Click Here: 
> > http://sourceforge.net/donate/ 
> > _______________________________________________
> > Opensymphony-webwork mailing list 
> > [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
> > 
> > 
> > 
> 
> 
> 
> 
> 
> -------------------------------------------------------
> This SF.net email is sponsored by: SF.net Giveback Program. 
> Does SourceForge.net help you be more productive?  Does it 
> help you create better code?  SHARE THE LOVE, and help us 
> help YOU!  Click Here: http://sourceforge.net/donate/ 
> _______________________________________________
> Opensymphony-webwork mailing list 
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork
> 


-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
Opensymphony-webwork mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/opensymphony-webwork

Reply via email to