i do have the workflow interceptor on and it was returning input because theres a fieldError on myDate: Invalid field value for field "myDate".
so whats going to happen with this validation stuff, shouldnt validation framework or validate() handle the conversion errors?
on conversion failure the property should be set to null if its an Object and 0 for primitive?
Jason Carreira wrote:
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
------------------------------------------------------- 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