You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Metal KoRn <me...@gmail.com> on 2005/05/05 06:56:52 UTC

My OWN VALIDATOR

Hey guys Im having a bit of problems by applying my own validators.

The thing is that I create my validator class, for testing reasons the
calling method returns a false, this only for checkin if the validator
is working good.

But Im getting the following Exception.

Im using Struts 1.2.4 version  and my validator rules and validation
XML are as the following

VALIDATOR RULES
      <validator name="licencia"
            classname="validator.ValidatorLicenciaMaestro"
               method="validateLicenciaMaestro"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       javax.servlet.http.HttpServletRequest"
              depends=""
                  msg="errors.licencia"/>     

VALIDATION
            <field property="licencia" depends="required,licencia">
                <arg0  key="licencia"/>
            </field>

my ActionForm has a "licencia" property.


Hope some one could help me with this thanx.


THE ERROR:
**********************ENtRa a LEER XML ****************************************
**********************salir a LEER XML ****************************************
May 4, 2005 11:41:58 PM org.apache.struts.validator.ValidatorForm validate
SEVERE: validator.ValidatorLicenciaMaestro.validateLicenciaMaestro(java.lang.Obj
ect, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.
Field, org.apache.struts.action.ActionMessages, javax.servlet.http.HttpServletRe
quest)
org.apache.commons.validator.ValidatorException: validator.ValidatorLicenciaMaes
tro.validateLicenciaMaestro(java.lang.Object, org.apache.commons.validator.Valid
atorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionM
essages, javax.servlet.http.HttpServletRequest)
        at org.apache.commons.validator.ValidatorAction.loadValidationMethod(Val
idatorAction.java:627)
        at org.apache.commons.validator.ValidatorAction.executeValidationMethod(
ValidatorAction.java:557)
        at org.apache.commons.validator.Field.validateForRule(Field.java:811)
        at org.apache.commons.validator.Field.validate(Field.java:890)
        at org.apache.commons.validator.Form.validate(Form.java:174)
        at org.apache.commons.validator.Validator.validate(Validator.java:367)
        at org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java
:112)
        at org.apache.struts.action.RequestProcessor.processValidate(RequestProc
essor.java:921)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:206)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:116
4)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)

        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(Appl
icationFilterChain.java:237)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:157)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:214)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(Standard
ContextValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:152)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:137)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:118)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:16
0)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:799)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ssConnection(Http11Protocol.java:705)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
:577)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:683)
        at java.lang.Thread.run(Thread.java:534)

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


Re: My OWN VALIDATOR

Posted by Metal KoRn <me...@gmail.com>.
Im having a problem with validating a password field .

THIS IS MY CODE infe validator.FMValidator class

      public static boolean validatePassword(
                Object bean,
                ValidatorAction va, 
                Field field,
                ActionMessages errors,
                org.apache.commons.validator.Validator validator,
                HttpServletRequest request){        
                    //testing message
                    System.out.println("ENTRO AL VALIDATOR");

                    return true;
                }
    

MY  VALIDATION XML is like this

            <field property="password" depends="required,password">
                <arg0  key="password"/>
            </field>    

and the VALIDATOR RULES
        <validator name="password"
               classname="validator.FMvalidator"
               method="validatePassword"
                 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=""
               msg="errors.twofields"/> 

IM having this error

May 14, 2005 1:27:36 PM org.apache.struts.validator.ValidatorForm validate
SEVERE: validator.FMvalidator
org.apache.commons.validator.ValidatorException: validator.FMvalidator
        at org.apache.commons.validator.ValidatorAction.loadValidationClass(Vali
datorAction.java:646)
        at org.apache.commons.validator.ValidatorAction.executeValidationMethod(
ValidatorAction.java:555)
        at org.apache.commons.validator.Field.validateForRule(Field.java:811)
        at org.apache.commons.validator.Field.validate(Field.java:890)
        at org.apache.commons.validator.Form.validate(Form.java:174)
        at org.apache.commons.validator.Validator.validate(Validator.java:367)
        at org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java
:112)
        at org.apache.struts.action.RequestProcessor.processValidate(RequestProc
essor.java:921)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:206)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:116
4)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)

        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(Appl
icationFilterChain.java:237)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:157)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDisp
atcher.java:704)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(Applica
tionDispatcher.java:474)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationD
ispatcher.java:409)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDis
patcher.java:312)
        at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.
java:1056)
        at org.apache.struts.action.RequestProcessor.internalModuleRelativeForwa
rd(RequestProcessor.java:994)
        at org.apache.struts.action.RequestProcessor.processValidate(RequestProc
essor.java:959)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:206)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:116
4)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)

        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(Appl
icationFilterChain.java:237)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:157)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:214)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(Standard
ContextValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:152)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:137)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:118)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:16
0)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:799)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ssConnection(Http11Protocol.java:705)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
:577)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:683)
        at java.lang.Thread.run(Thread.java:534)

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


Re: My OWN VALIDATOR

Posted by Metal KoRn <me...@gmail.com>.
OK but I really dont know when to use all of them or some of them can
u explain me
thnx

On 5/12/05, Niall Pemberton <ni...@blueyonder.co.uk> wrote:
> This is the same problem you had with your other custom validation method -
> the parameters you've defined in the validation configuration file don't
> match your method signature.
> 
> http://www.mail-archive.com/user@struts.apache.org/msg26221.html
> http://www.mail-archive.com/user@struts.apache.org/msg26175.html
> 
> Niall
> 
> ----- Original Message -----
> From: "Metal KoRn" <me...@gmail.com>
> Sent: Thursday, May 12, 2005 5:42 AM
> 
> VALIDATION FAILED
> May 11, 2005 11:29:09 PM org.apache.struts.validator.ValidatorForm validate
> SEVERE: validator.FMValidator.validateList(java.lang.Object,
> org.apache.commons.
> validator.ValidatorAction, org.apache.commons.validator.Field,
> org.apache.struts
> .action.ActionMessages, javax.servlet.http.HttpServletRequest)
> org.apache.commons.validator.ValidatorException:
> validator.FMValidator.validateL
> ist(java.lang.Object, org.apache.commons.validator.ValidatorAction,
> org.apache.c
> ommons.validator.Field, org.apache.struts.action.ActionMessages,
> javax.servlet.h
> ttp.HttpServletRequest)
>         at
> org.apache.commons.validator.ValidatorAction.loadValidationMethod(Val
> idatorAction.java:627)
>         at
> org.apache.commons.validator.ValidatorAction.executeValidationMethod(
> ValidatorAction.java:557)
>         at
> org.apache.commons.validator.Field.validateForRule(Field.java:811)
>         at org.apache.commons.validator.Field.validate(Field.java:890)
>         at org.apache.commons.validator.Form.validate(Form.java:174)
>         at
> org.apache.commons.validator.Validator.validate(Validator.java:367)
>         at
> org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java
> :112)
> 
> I want to validate that the lists value of my form arent 0
> 
> this is the validation method in my  FMValidation class
> 
>         public static boolean validateList(
>             Object bean,
>             ValidatorAction va,
>             Field field,
>             ActionErrors errors,
>             HttpServletRequest request) {
> 
> the validation rules is this
>       <!-- VALIDADOR DE LOS VALORES DE LAS LISTAS-->
>         <validator name="listas"
>                classname="validator.FMValidator"
>                method="validateList"
>          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=""
>                msg="errors.list"/>
> 
> and my validation  is the following (NOTE: the list name Im validating
> is escuela)
> 
>             <field property="escuela" depends="listas">
>                 <arg0  key="escuela"/>
>             </field>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
>

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


Re: My OWN VALIDATOR

Posted by Niall Pemberton <ni...@blueyonder.co.uk>.
This is the same problem you had with your other custom validation method -
the parameters you've defined in the validation configuration file don't
match your method signature.

http://www.mail-archive.com/user@struts.apache.org/msg26221.html
http://www.mail-archive.com/user@struts.apache.org/msg26175.html

Niall

----- Original Message ----- 
From: "Metal KoRn" <me...@gmail.com>
Sent: Thursday, May 12, 2005 5:42 AM


VALIDATION FAILED
May 11, 2005 11:29:09 PM org.apache.struts.validator.ValidatorForm validate
SEVERE: validator.FMValidator.validateList(java.lang.Object,
org.apache.commons.
validator.ValidatorAction, org.apache.commons.validator.Field,
org.apache.struts
.action.ActionMessages, javax.servlet.http.HttpServletRequest)
org.apache.commons.validator.ValidatorException:
validator.FMValidator.validateL
ist(java.lang.Object, org.apache.commons.validator.ValidatorAction,
org.apache.c
ommons.validator.Field, org.apache.struts.action.ActionMessages,
javax.servlet.h
ttp.HttpServletRequest)
        at
org.apache.commons.validator.ValidatorAction.loadValidationMethod(Val
idatorAction.java:627)
        at
org.apache.commons.validator.ValidatorAction.executeValidationMethod(
ValidatorAction.java:557)
        at
org.apache.commons.validator.Field.validateForRule(Field.java:811)
        at org.apache.commons.validator.Field.validate(Field.java:890)
        at org.apache.commons.validator.Form.validate(Form.java:174)
        at
org.apache.commons.validator.Validator.validate(Validator.java:367)
        at
org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java
:112)

I want to validate that the lists value of my form arent 0

this is the validation method in my  FMValidation class

        public static boolean validateList(
            Object bean,
            ValidatorAction va,
            Field field,
            ActionErrors errors,
            HttpServletRequest request) {



the validation rules is this
      <!-- VALIDADOR DE LOS VALORES DE LAS LISTAS-->
        <validator name="listas"
               classname="validator.FMValidator"
               method="validateList"
         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=""
               msg="errors.list"/>

and my validation  is the following (NOTE: the list name Im validating
is escuela)

            <field property="escuela" depends="listas">
                <arg0  key="escuela"/>
            </field>



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


Re: My OWN VALIDATOR

Posted by Metal KoRn <me...@gmail.com>.
Hi Im having a problem with validators

this is the error 

VALIDATION FAILED
May 11, 2005 11:29:09 PM org.apache.struts.validator.ValidatorForm validate
SEVERE: validator.FMValidator.validateList(java.lang.Object, org.apache.commons.
validator.ValidatorAction, org.apache.commons.validator.Field, org.apache.struts
.action.ActionMessages, javax.servlet.http.HttpServletRequest)
org.apache.commons.validator.ValidatorException: validator.FMValidator.validateL
ist(java.lang.Object, org.apache.commons.validator.ValidatorAction, org.apache.c
ommons.validator.Field, org.apache.struts.action.ActionMessages, javax.servlet.h
ttp.HttpServletRequest)
        at org.apache.commons.validator.ValidatorAction.loadValidationMethod(Val
idatorAction.java:627)
        at org.apache.commons.validator.ValidatorAction.executeValidationMethod(
ValidatorAction.java:557)
        at org.apache.commons.validator.Field.validateForRule(Field.java:811)
        at org.apache.commons.validator.Field.validate(Field.java:890)
        at org.apache.commons.validator.Form.validate(Form.java:174)
        at org.apache.commons.validator.Validator.validate(Validator.java:367)
        at org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java
:112)
        at org.apache.struts.action.RequestProcessor.processValidate(RequestProc
essor.java:921)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:206)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:116
4)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)

        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(Appl
icationFilterChain.java:237)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:157)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:214)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(Standard
ContextValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:152)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:137)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:118)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:16
0)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:799)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ssConnection(Http11Protocol.java:705)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
:577)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:683)
        at java.lang.Thread.run(Thread.java:534)




I want to validate that the lists value of my form arent 0

this is the validation method in my  FMValidation class

        public static boolean validateList(
            Object bean,
            ValidatorAction va, 
            Field field,
            ActionErrors errors,
            HttpServletRequest request) {

            String value = ValidatorUtils.getValueAsString(bean,
field.getProperty());
            
            System.out.println("VALOR:["+value+"]");
            
            if (!GenericValidator.isBlankOrNull(value)) {
               try {
                  if (value.equalsIgnoreCase("0")) {
                      System.out.println("VALOR 0");
                      errors.add(field.getKey(),
Resources.getActionMessage(request, va, field));
                      return false;
                  }
               } catch (Exception e) {
                     errors.add(field.getKey(),
Resources.getActionMessage(request, va, field));
                     return false;
               }
            }

            return true;
        }   


the validation rules is this
      <!-- VALIDADOR DE LOS VALORES DE LAS LISTAS-->                  
        <validator name="listas"
               classname="validator.FMValidator"
               method="validateList"
         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=""               
               msg="errors.list"/>   

and my validation  is the following (NOTE: the list name Im validating
is escuela)

            <field property="escuela" depends="listas">
                <arg0  key="escuela"/>
            </field>    

Can u help me please??

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


Re: My OWN VALIDATOR

Posted by Niall Pemberton <ni...@blueyonder.co.uk>.
You should have declared them in a <message-resources> element in your
struts-config.xml - if you have it will find them.

Niall
----- Original Message ----- 
From: "Metal KoRn" <me...@gmail.com>
Sent: Friday, May 06, 2005 3:48 AM


OK I got it but i have a doubt with this

errors.add(field.getKey(), Resources.getActionMessage(request, va, field));

Where is declared the object Resources Im getting a cannot resolve
symbol with the method getActionMessage



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


Re: My OWN VALIDATOR

Posted by Metal KoRn <me...@gmail.com>.
OK I got it but i have a doubt with this

errors.add(field.getKey(), Resources.getActionMessage(request, va, field));

Where is declared the object Resources Im getting a cannot resolve
symbol with the method getActionMessage


On 5/5/05, Niall Pemberton <ni...@blueyonder.co.uk> wrote:
> In your validateLicenciaMaestro() you need to add a message to the
> ActionMessages object (if validation fails) - look at Strut's FieldChecks
> class if you want an example.
> 
> Niall
> ----- Original Message -----
> From: "Metal KoRn" <me...@gmail.com>
> Sent: Friday, May 06, 2005 3:29 AM
> 
> IT WORKS , but im not getting the error sent by the validator
> 
> On 5/5/05, Niall Pemberton <ni...@blueyonder.co.uk> wrote:
> > As I said the method signatures don't match - you're missing the
> "Validator"
> > parameter. Change your config file to the following:
> >
> >        <validator name="licencia"
> >              classname="validator.ValidatorLicenciaMaestro"
> >                 method="validateLicenciaMaestro"
> >           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=""
> >                    msg="errors.licencia"/>
> >
> > Niall
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
>

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


Re: My OWN VALIDATOR

Posted by Niall Pemberton <ni...@blueyonder.co.uk>.
In your validateLicenciaMaestro() you need to add a message to the
ActionMessages object (if validation fails) - look at Strut's FieldChecks
class if you want an example.

Niall
----- Original Message ----- 
From: "Metal KoRn" <me...@gmail.com>
Sent: Friday, May 06, 2005 3:29 AM


IT WORKS , but im not getting the error sent by the validator

On 5/5/05, Niall Pemberton <ni...@blueyonder.co.uk> wrote:
> As I said the method signatures don't match - you're missing the
"Validator"
> parameter. Change your config file to the following:
>
>        <validator name="licencia"
>              classname="validator.ValidatorLicenciaMaestro"
>                 method="validateLicenciaMaestro"
>           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=""
>                    msg="errors.licencia"/>
>
> Niall



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


Re: My OWN VALIDATOR

Posted by Metal KoRn <me...@gmail.com>.
IT WORKS , but im not getting the error sent by the validator

On 5/5/05, Niall Pemberton <ni...@blueyonder.co.uk> wrote:
> As I said the method signatures don't match - you're missing the "Validator"
> parameter. Change your config file to the following:
> 
>        <validator name="licencia"
>              classname="validator.ValidatorLicenciaMaestro"
>                 method="validateLicenciaMaestro"
>           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=""
>                    msg="errors.licencia"/>
> 
> Niall
> 
> ----- Original Message -----
> From: "Metal KoRn" <me...@gmail.com>
> Sent: Friday, May 06, 2005 2:50 AM
> 
> This is the code for the validator form
> 
> public class ValidatorLicenciaMaestro implements Serializable{
> 
>         public static boolean validateLicenciaMaestro(Object
> bean,ValidatorAction va, Field field,ActionMessages
> errors,org.apache.commons.validator.Validator
> validator,HttpServletRequest request) {
> 
>         String value = null;
>         if (isString(bean)) {
>             value = (String) bean;
>         } else {
>             value = ValidatorUtils.getValueAsString(bean,
> field.getProperty());
>         }
> 
>         System.out.println("This is value for validator "+value);
> 
>         return false;
> 
>     }
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
>

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


Re: My OWN VALIDATOR

Posted by Niall Pemberton <ni...@blueyonder.co.uk>.
As I said the method signatures don't match - you're missing the "Validator"
parameter. Change your config file to the following:

       <validator name="licencia"
             classname="validator.ValidatorLicenciaMaestro"
                method="validateLicenciaMaestro"
          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=""
                   msg="errors.licencia"/>

Niall

----- Original Message ----- 
From: "Metal KoRn" <me...@gmail.com>
Sent: Friday, May 06, 2005 2:50 AM


This is the code for the validator form

public class ValidatorLicenciaMaestro implements Serializable{

        public static boolean validateLicenciaMaestro(Object
bean,ValidatorAction va, Field field,ActionMessages
errors,org.apache.commons.validator.Validator
validator,HttpServletRequest request) {

        String value = null;
        if (isString(bean)) {
            value = (String) bean;
        } else {
            value = ValidatorUtils.getValueAsString(bean,
field.getProperty());
        }


        System.out.println("This is value for validator "+value);


        return false;

    }



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


Re: My OWN VALIDATOR

Posted by Metal KoRn <me...@gmail.com>.
This is the code for the validator form

public class ValidatorLicenciaMaestro implements Serializable{
  
        public static boolean validateLicenciaMaestro(Object
bean,ValidatorAction va, Field field,ActionMessages
errors,org.apache.commons.validator.Validator
validator,HttpServletRequest request) {
        
        String value = null;
        if (isString(bean)) {
            value = (String) bean;
        } else {
            value = ValidatorUtils.getValueAsString(bean, field.getProperty());
        }


        System.out.println("This is value for validator "+value);

        
        return false;
        
    }
    
    
    
        /**
     *  Return <code>true</code> if the specified object is a String
or a <code>null</code>
     *  value.
     *
     * @param o Object to be tested
     * @return The string value
     */
    protected static boolean isString(Object o) {
        return (o == null) ? true : String.class.isInstance(o);
    }

  
}



On 5/5/05, Niall Pemberton <ni...@blueyonder.co.uk> wrote:
> Looks like the method signature you've defined in the validaot-rules.xml
> doesn't match whats actually in your java class. How about you show us
> validateLicenciaMaestro() method in the ValidatorLicenciaMaestro class?
> 
> ----- Original Message -----
> From: "Metal KoRn" <me...@gmail.com>
> To: <us...@struts.apache.org>
> Sent: Thursday, May 05, 2005 5:56 AM
> Subject: My OWN VALIDATOR
> 
> Hey guys Im having a bit of problems by applying my own validators.
> 
> The thing is that I create my validator class, for testing reasons the
> calling method returns a false, this only for checkin if the validator
> is working good.
> 
> But Im getting the following Exception.
> 
> Im using Struts 1.2.4 version  and my validator rules and validation
> XML are as the following
> 
> VALIDATOR RULES
>       <validator name="licencia"
>             classname="validator.ValidatorLicenciaMaestro"
>                method="validateLicenciaMaestro"
>          methodParams="java.lang.Object,
>                        org.apache.commons.validator.ValidatorAction,
>                        org.apache.commons.validator.Field,
>                        org.apache.struts.action.ActionMessages,
>                        javax.servlet.http.HttpServletRequest"
>               depends=""
>                   msg="errors.licencia"/>
> 
> VALIDATION
>             <field property="licencia" depends="required,licencia">
>                 <arg0  key="licencia"/>
>             </field>
> 
> my ActionForm has a "licencia" property.
> 
> Hope some one could help me with this thanx.
> 
> THE ERROR:
> **********************ENtRa a LEER XML
> ****************************************
> **********************salir a LEER XML
> ****************************************
> May 4, 2005 11:41:58 PM org.apache.struts.validator.ValidatorForm validate
> SEVERE:
> validator.ValidatorLicenciaMaestro.validateLicenciaMaestro(java.lang.Obj
> ect, org.apache.commons.validator.ValidatorAction,
> org.apache.commons.validator.
> Field, org.apache.struts.action.ActionMessages,
> javax.servlet.http.HttpServletRe
> quest)
> org.apache.commons.validator.ValidatorException:
> validator.ValidatorLicenciaMaes
> tro.validateLicenciaMaestro(java.lang.Object,
> org.apache.commons.validator.Valid
> atorAction, org.apache.commons.validator.Field,
> org.apache.struts.action.ActionM
> essages, javax.servlet.http.HttpServletRequest)
>         at
> org.apache.commons.validator.ValidatorAction.loadValidationMethod(Val
> idatorAction.java:627)
>         at
> org.apache.commons.validator.ValidatorAction.executeValidationMethod(
> ValidatorAction.java:557)
>         at
> org.apache.commons.validator.Field.validateForRule(Field.java:811)
>         at org.apache.commons.validator.Field.validate(Field.java:890)
>         at org.apache.commons.validator.Form.validate(Form.java:174)
>         at
> org.apache.commons.validator.Validator.validate(Validator.java:367)
>         at
> org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java
> :112)
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
>

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


Re: My OWN VALIDATOR

Posted by Metal KoRn <me...@gmail.com>.
Hey guys Im having a bit of problems by applying my own validators.

The thing is that I create my validator class, for testing reasons the
calling method returns a false, this only for checkin if the validator
is working good.

But Im getting the following Exception.

Im using Struts 1.2.4 version  and my validator rules and validation
XML are as the following

VALIDATOR RULES
      <validator name="licencia"
            classname="validator.ValidatorLicenciaMaestro"
               method="validateLicenciaMaestro"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       javax.servlet.http.HttpServletRequest"
              depends=""
                  msg="errors.licencia"/>

VALIDATION
            <field property="licencia" depends="required,licencia">
                <arg0  key="licencia"/>
            </field>

my ActionForm has a "licencia" property.

Hope some one could help me with this thanx.

THE ERROR:
**********************ENtRa a LEER XML ****************************************
**********************salir a LEER XML ****************************************
May 4, 2005 11:41:58 PM org.apache.struts.validator.ValidatorForm validate
SEVERE: validator.ValidatorLicenciaMaestro.validateLicenciaMaestro(java.lang.Obj
ect, org.apache.commons.validator.ValidatorAction, org.apache.commons.validator.
Field, org.apache.struts.action.ActionMessages, javax.servlet.http.HttpServletRe
quest)
org.apache.commons.validator.ValidatorException: validator.ValidatorLicenciaMaes
tro.validateLicenciaMaestro(java.lang.Object, org.apache.commons.validator.Valid
atorAction, org.apache.commons.validator.Field, org.apache.struts.action.ActionM
essages, javax.servlet.http.HttpServletRequest)
        at org.apache.commons.validator.ValidatorAction.loadValidationMethod(Val
idatorAction.java:627)
        at org.apache.commons.validator.ValidatorAction.executeValidationMethod(
ValidatorAction.java:557)
        at org.apache.commons.validator.Field.validateForRule(Field.java:811)
        at org.apache.commons.validator.Field.validate(Field.java:890)
        at org.apache.commons.validator.Form.validate(Form.java:174)
        at org.apache.commons.validator.Validator.validate(Validator.java:367)
        at org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java
:112)
        at org.apache.struts.action.RequestProcessor.processValidate(RequestProc
essor.java:921)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja
va:206)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:116
4)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)

        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(Appl
icationFilterChain.java:237)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:157)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:214)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(Standard
ContextValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:152)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:137)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:118)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:16
0)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:799)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ssConnection(Http11Protocol.java:705)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
:577)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:683)
        at java.lang.Thread.run(Thread.java:534)



THE CLASS CODE IS THE FOLLOWING

public class ValidatorLicenciaMaestro implements Serializable{
  
        public static boolean validateLicenciaMaestro(Object
bean,ValidatorAction va, Field field,ActionMessages
errors,org.apache.commons.validator.Validator
validator,HttpServletRequest request) {
        
        String value = null;
        if (isString(bean)) {
            value = (String) bean;
        } else {
            value = ValidatorUtils.getValueAsString(bean, field.getProperty());
        }


        System.out.println("This is value for validator "+value);

        
        return false;
        
    }
    
    
    
        /**
     *  Return <code>true</code> if the specified object is a String
or a <code>null</code>
     *  value.
     *
     * @param o Object to be tested
     * @return The string value
     */
    protected static boolean isString(Object o) {
        return (o == null) ? true : String.class.isInstance(o);
    }

  
}

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


Re: My OWN VALIDATOR

Posted by Niall Pemberton <ni...@blueyonder.co.uk>.
Looks like the method signature you've defined in the validaot-rules.xml
doesn't match whats actually in your java class. How about you show us
validateLicenciaMaestro() method in the ValidatorLicenciaMaestro class?

----- Original Message ----- 
From: "Metal KoRn" <me...@gmail.com>
To: <us...@struts.apache.org>
Sent: Thursday, May 05, 2005 5:56 AM
Subject: My OWN VALIDATOR


Hey guys Im having a bit of problems by applying my own validators.

The thing is that I create my validator class, for testing reasons the
calling method returns a false, this only for checkin if the validator
is working good.

But Im getting the following Exception.

Im using Struts 1.2.4 version  and my validator rules and validation
XML are as the following

VALIDATOR RULES
      <validator name="licencia"
            classname="validator.ValidatorLicenciaMaestro"
               method="validateLicenciaMaestro"
         methodParams="java.lang.Object,
                       org.apache.commons.validator.ValidatorAction,
                       org.apache.commons.validator.Field,
                       org.apache.struts.action.ActionMessages,
                       javax.servlet.http.HttpServletRequest"
              depends=""
                  msg="errors.licencia"/>

VALIDATION
            <field property="licencia" depends="required,licencia">
                <arg0  key="licencia"/>
            </field>

my ActionForm has a "licencia" property.


Hope some one could help me with this thanx.


THE ERROR:
**********************ENtRa a LEER XML
****************************************
**********************salir a LEER XML
****************************************
May 4, 2005 11:41:58 PM org.apache.struts.validator.ValidatorForm validate
SEVERE:
validator.ValidatorLicenciaMaestro.validateLicenciaMaestro(java.lang.Obj
ect, org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.
Field, org.apache.struts.action.ActionMessages,
javax.servlet.http.HttpServletRe
quest)
org.apache.commons.validator.ValidatorException:
validator.ValidatorLicenciaMaes
tro.validateLicenciaMaestro(java.lang.Object,
org.apache.commons.validator.Valid
atorAction, org.apache.commons.validator.Field,
org.apache.struts.action.ActionM
essages, javax.servlet.http.HttpServletRequest)
        at
org.apache.commons.validator.ValidatorAction.loadValidationMethod(Val
idatorAction.java:627)
        at
org.apache.commons.validator.ValidatorAction.executeValidationMethod(
ValidatorAction.java:557)
        at
org.apache.commons.validator.Field.validateForRule(Field.java:811)
        at org.apache.commons.validator.Field.validate(Field.java:890)
        at org.apache.commons.validator.Form.validate(Form.java:174)
        at
org.apache.commons.validator.Validator.validate(Validator.java:367)
        at
org.apache.struts.validator.ValidatorForm.validate(ValidatorForm.java
:112)



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