> 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(OgnlValueStack.java:92)
        at
com.opensymphony.xwork.validator.validators.ValidatorSupport.getFieldValue(V
alidatorSupport.java:90)
        at
com.opensymphony.xwork.validator.validators.FieldExpressionValidator.validat
e(FieldExpressionValidator.java:37)
        at
com.opensymphony.xwork.validator.ActionValidatorManager.validate(ActionValid
atorManager.java:69)
        at
com.opensymphony.xwork.validator.ActionValidatorManager.validate(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(DefaultActionInvocatio
n.java:169)
        at
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterce
ptor.java:37)
        at
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocatio
n.java:169)
        at
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterce
ptor.java:37)
        at
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocatio
n.java:169)
        at
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterce
ptor.java:37)
        at
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocatio
n.java:169)
        at
com.opensymphony.xwork.interceptor.TimerInterceptor.intercept(TimerIntercept
or.java:62)
        at
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocatio
n.java:169)
        at
com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:11
6)
        at
com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(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.internalDoFilter(Application
FilterChain.java:247)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
        at
com.opensymphony.webwork.lifecycle.RequestLifecycleFilter.doFilter(RequestLi
fecycleFilter.java:62)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:213)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
        at cmw.filter.SetCharacterEncoding.doFilter(SetCharacterEncoding.java:169)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:213)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
        at cmw.filter.Persistence.doFilter(Persistence.java:70)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:213)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:256)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(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.ja
va:191)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(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:2416)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:171)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(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
eNext(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:601)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:392)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.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

Reply via email to