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