You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Thomas Thomas <de...@gmail.com> on 2006/11/28 21:35:16 UTC

Validator Framework problem

Hi,
since I added a constraint for the length with minlength, I have the
following errror :

28-nov.-2006 21:31:33 org.apache.struts.validator.DynaValidatorForm validate
GRAVE: org.apache.struts.util.StrutsValidator
org.apache.commons.validator.ValidatorException:
org.apache.struts.util.StrutsValidator
    at org.apache.commons.validator.ValidatorAction.loadValidationClass(
ValidatorAction.java:623)
    at org.apache.commons.validator.ValidatorAction.executeValidationMethod(
ValidatorAction.java:531)
    at org.apache.commons.validator.Field.validateForRule(Field.java:766)
    at org.apache.commons.validator.Field.validate(Field.java:846)
    at org.apache.commons.validator.Form.validate(Form.java:290)
    at org.apache.commons.validator.Validator.validate(Validator.java:354)
    at org.apache.struts.validator.DynaValidatorForm.validate(
DynaValidatorForm.java:117)
    at org.apache.struts.chain.commands.servlet.ValidateActionForm.validate(
ValidateActionForm.java:53)
    at org.apache.struts.chain.commands.AbstractValidateActionForm.execute(
AbstractValidateActionForm.java:100)
    at org.apache.struts.chain.commands.ActionCommandBase.execute(
ActionCommandBase.java:48)
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    at org.apache.commons.chain.generic.LookupCommand.execute(
LookupCommand.java:304)
    at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    at org.apache.struts.chain.ComposableRequestProcessor.process(
ComposableRequestProcessor.java:280)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java
:1858)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:459)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(
StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(
StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(
ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(
StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(
CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:869)
    at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
(Http11BaseProtocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(
LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)




I have the following code :
[...]
    <validator name="minlength"
                 classname="org.apache.struts.util.StrutsValidator"
                 method="validateMinLength"
                  methodParams="java.lang.Object,
                      org.apache.commons.validator.ValidatorAction,
                      org.apache.commons.validator.Field,
                      org.apache.struts.action.ActionMessages,
                      org.apache.commons.validator.Validator,
                      javax.servlet.http.HttpServletRequest"
                 depends="required"
                 msg="errors.minlength"/>
[...]
        <form name="loginForm">

            <field property="login" depends="required,minlength">
                <arg key="required.login"/>
                <arg name="minlength" key="${var:minlength}"
resource="false"/>
                <var>
                    <var-name>minlength</var-name>
                    <var-value>2</var-value>
                </var>
            </field>
[...]


Also can u tell me what ${var:minlength} will display ?
I need to display a message in French.

Thank u for any help !

Re: Validator Framework problem

Posted by Thomas Thomas <de...@gmail.com>.
Nobody can help me ?
No-one has *Any* idea ?

Re: Validator Framework problem

Posted by Niall Pemberton <ni...@gmail.com>.
On 11/28/06, Thomas Thomas <de...@gmail.com> wrote:
> Hi,
> since I added a constraint for the length with minlength, I have the
> following errror :
>
> 28-nov.-2006 21:31:33 org.apache.struts.validator.DynaValidatorForm validate
> GRAVE: org.apache.struts.util.StrutsValidator
> org.apache.commons.validator.ValidatorException:
> org.apache.struts.util.StrutsValidator
>     at org.apache.commons.validator.ValidatorAction.loadValidationClass(
> ValidatorAction.java:623)
>     at org.apache.commons.validator.ValidatorAction.executeValidationMethod(

The method signature in your validation class (i.e. StrutsValidator)
doesn't match up with what you have defined in the "methodParams"
element for your minlength validator.

> I have the following code :
> [...]
>     <validator name="minlength"
>                  classname="org.apache.struts.util.StrutsValidator"
>                  method="validateMinLength"
>                   methodParams="java.lang.Object,
>                       org.apache.commons.validator.ValidatorAction,
>                       org.apache.commons.validator.Field,
>                       org.apache.struts.action.ActionMessages,
>                       org.apache.commons.validator.Validator,
>                       javax.servlet.http.HttpServletRequest"
>                  depends="required"
>                  msg="errors.minlength"/>
> [...]
>         <form name="loginForm">
>
>             <field property="login" depends="required,minlength">
>                 <arg key="required.login"/>
>                 <arg name="minlength" key="${var:minlength}"
> resource="false"/>
>                 <var>
>                     <var-name>minlength</var-name>
>                     <var-value>2</var-value>
>                 </var>
>             </field>
> [...]
>
>
> Also can u tell me what ${var:minlength} will display ?

It will use the value in the "minlength" <var> element (which is "2"
in your case) as the second argument for your minlength message - what
it will display will depend on the message you've set up in the
resource bundle for the minlength message (key errors.minlength in
your case).

Niall


> I need to display a message in French.
>
> Thank u for any help !
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org