IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 1 Java Discussion :

ActionErrors vide pour mes validator-rules


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de anayathefirst
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 326
    Par défaut ActionErrors vide pour mes validator-rules
    Salut à toutes et à tous,
    je voudrais créer mes propres fonction de validation pour mes ValidatorForm (vérification dans une base de donnée), et j'ai une erreur que je n'arrive pas à résoudre : j'ai l'impression que struts me donne un ActionErrors vide lorsqu'il appelle ma méthode :
    pour tester j'ai créé un code minimal pour de ma méthode que voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public static boolean utilisateurValide(
    	Object bean,
    	ValidatorAction va, 
    	Field field,
    	ActionErrors errors,
    	HttpServletRequest request, 
    	ServletContext application) {
     
    	System.out.println(errors.toString());
    	boolean bool = false;
     
    	return bool;
    	}
    la déclaration de mon validateur dans validator-rules.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <validator name="utilisateurValide"
    	methodParams="java.lang.Object,
    	org.apache.commons.validator.ValidatorAction,
    	org.apache.commons.validator.Field,
    	org.apache.struts.action.ActionErrors,
    	javax.servlet.http.HttpServletRequest,
    	javax.servlet.ServletContext"
    	classname="com.monApplication.struts.StrutsValidator"
    	msg="error.bad.identifier" method="utilisateurValide" />
    la déclaration de la validation de mon formulaire dans validation.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <form name="LoginForm">
    	<field property="identifiant"
    		depends="required,utilisateurValide">
    		<arg0 key="login" />
    		</field>
    		<field property="motDePasse"
    			depends="required,motDePasseValide">
    		<arg position="0" key="password" />
    	</field>
    </form>
    en tout cas, lorsque je tente l'utilisation de mon formulaire, je reçois l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    ERROR ValidatorAction                 - Unhandled exception thrown during validation: null
    java.lang.NullPointerException
    	at com.monApplication.struts.StrutsValidator.utilisateurValide(StrutsValidator.java:34)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at org.apache.commons.validator.ValidatorAction.executeValidationMethod(ValidatorAction.java:543)
    	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.ValidatorForm.validate(ValidatorForm.java:113)
    	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(Unknown Source)
    et puisque c'est une exception qu'il capture, la validation n'est tout simplement pas fait .
    si quelqu'un à une idée, je lui serais reconnaissant de me la faire parvenir.
    Merci d'avance.

  2. #2
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Quand tu parles de ActionErrors vide, ce ne serait pas ActionErrors null?

  3. #3
    Membre éclairé Avatar de anayathefirst
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 326
    Par défaut
    si c'est ça,
    désolé si je ne suis pas assez précis
    en fait, j'ai même testé un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if(errors.equals(null){
    System.out.println("errors null");
    }
    et il me sort toujours la même erreure :'(

  4. #4
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Je ne suis pas sur que ce que je vais te dire soit la résolution du probleme mais as tu mis l'attribut validate à "true" pour ton action dans le fichier struts-config.xml.

    Pourquoi veux-tu faire un validatorForm personnalisé, celui de struts n'est pas assez puissant pour toi?? Tu parles d'une validation dans une base, mais qu'est ce qui t'empeche de te connecter à ta base dans la methode validate fourni par struts pour un ActionForm??

  5. #5
    Membre éclairé Avatar de anayathefirst
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 326
    Par défaut
    ahh tu veux dire que je peut surcharger la méthode validate dans mon actionForm ET utiliser le validateur xml de validation.xml en même temps ? en fait je ne savais pas que c'était possible...
    merci pour ton aide, je tente ça tout à l'heur!

  6. #6
    Membre éclairé Avatar de anayathefirst
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 326
    Par défaut
    bon bahh, ça ne marche pas, je suis découragé d'utiliser des fichier xml pour la validation, je revien à la bonne vieille méthode validate , j'y reviendrais dès que j'aurais du temps.

  7. #7
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Citation Envoyé par anayathefirst
    ahh tu veux dire que je peut surcharger la méthode validate dans mon actionForm ET utiliser le validateur xml de validation.xml en même temps ? en fait je ne savais pas que c'était possible...
    merci pour ton aide, je tente ça tout à l'heur!

    En faite ce n'est pas trop ca que je te disais. Mais en effet tu peux surcharger la methode validate et faire le traitement que tu souhaites dedans. Qu'essayes tu de faire exactement dans ton validate?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Article] Liste des balises et de leurs enfants pour une validation XHTML 1.1
    Par giminik dans le forum Publications (X)HTML et CSS
    Réponses: 12
    Dernier message: 12/02/2018, 15h11
  2. [JAXB] Marshaller un champ vide pour validation XSD
    Par Shiftane dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 22/02/2012, 13h34
  3. [XSL 1.0] Output vide pour XML valide !?
    Par pradator dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 22/05/2007, 11h30
  4. Aperçu pour mes types de fichiers
    Par Aurelien.Regat-Barrel dans le forum Windows
    Réponses: 3
    Dernier message: 27/09/2004, 18h33
  5. Comment créé une "interface" pour mes programmes??
    Par alcazar dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 09/02/2004, 13h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo