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 :

methode 'validate' de l'actionForm


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Par défaut methode 'validate' de l'actionForm
    Salut, je souhaiterai avoir quelques renseignements sur l'emploi de la méthode 'validate' de l'actionForm. Actuellement, j'ai essayé de l'utiliser dans un formulaire sur plusieurs pages et ca ne fonctionne pas.

    Mon struts-config ressemble a ca:
    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
    <struts-config>
      <form-beans>
        <form-bean name="loginForm" type="technote.actionform.LoginForm" />
      </form-beans>
      <action-mappings>
        <action path="/Input" 
        input="/pages/loginForm.jsp"  
        name="loginForm" 
        type="org.apache.struts.actions.ForwardAction" 
        parameter="/pages/adresseForm.jsp" 
        scope="request" 
        validate="true" />
        <action path="/InputAdresse" 
        input="/pages/adresseForm.jsp"
        name="loginForm" 
        type="org.apache.struts.actions.ForwardAction" 
        parameter="/pages/affiche.jsp" 
        scope="request" />
      </action-mappings>
     
      <message-resources parameter="MessageResources"/>
      <message-resources parameter="mesMessages" key="myResources" null="false" />
     
    </struts-config>
    Le actionForm :
    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    public class LoginForm extends ActionForm {
     
    	private Login personne	= new Login();
    	private int page = 0;
     
    	public Login getPersonne() {
    		return personne;
    	}
     
    	public void setPersonne(Login login) {
    		this.personne= login;
    	}
     
    	public int getPage() {
    		return page;
    	}
     
    	public void setPage(int page) {
    		this.page = page;
    	}
     
     
    	public ActionErrors validate (ActionMapping mapping, HttpServletRequest request) {
    		ActionErrors erreurs = new ActionErrors();
     
    		if (page == 1) {
    			if ( personne.getIdentifiant() == null || personne.getIdentifiant().equals("".trim())) {
    				erreurs.add("login", new ActionMessage("errors.login"));
    			}
     
    			if ( personne.getMdp() == null || personne.getMdp().equals("".trim())) {
    				erreurs.add("mdp", new ActionMessage("errors.mdp"));
    			}
    		}
     
    		if (page == 2) {
    			if (personne.getAdresse().getNumRue() == null || personne.getAdresse().getNumRue().equals("".trim())) {
    				erreurs.add("numRue", new ActionMessage("errors.numRue"));
    			}
    			if (personne.getAdresse().getRue() == null || personne.getAdresse().getRue().equals("".trim())) {
    				erreurs.add("rue", new ActionMessage("errors.rue"));
    			}
    			if (personne.getAdresse().getCodePostal() == null || personne.getAdresse().getCodePostal().equals("".trim())) {
    				erreurs.add("codePostal", new ActionMessage("errors.cp"));
    			}
    			if (personne.getAdresse().getVille() == null || personne.getAdresse().getVille().equals("".trim())) {
    				erreurs.add("ville", new ActionMessage("errors.ville"));
    			}
    		}
    		return erreurs;
    	}
     
    }
    le message resource rajouté contient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    # Errors
     
    errors.login=Le champ identifiant doit être renseigné.
    errors.mdp=Le champ mot de passe doit être renseigné.
    errors.numRue=Le champ numéro de rue doit être renseigné.
    errors.rue=Le nom de la rue doit être renseigné.
    errors.cp=Le code postal doit être renseigné.
    errors.ville=Le nom de la ville doit être renseigné.
    et la page du formulaire appelée est:
    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
    <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
    <%@ taglib uri="http://struts.apache.org/tags-nested" prefix="nested" %>
     
    <html:html>
    <head>
    <title>Page login</title>
    </head>
     
    <body>
     
    <html:errors />
     
    <html:form action="/Input" method="post">
     
    <nested:nest property="personne">
     
    	<bean:message bundle="myResources" key="login" />
    	<nested:text property="identifiant" />
    	<html:errors property="login" />
    	<br>
    	<bean:message key="mdp" bundle="myResources" />	
    	<nested:text property="mdp" />
    	<html:errors property="mdp" />
    	<br>
     
    <nested:hidden property="page" value="1" />
    <html:submit value="Soumettre"/>
     
    </nested:nest>
    </html:form>
     
    </body>
    </html:html>
    Je n'ai pas d'erreurs, mais lorsque que j'appuie sur le bouton pour passer a la page suivante, la validation n'est pas prise en compte. Les champs non renseignés ne créent pas d'erreur, et il n'y a pas de retour sur la page qui vient d'etre envoyée.

    et là, je vois vraiement pas d'où ca vient .

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Par défaut
    J'ai du mal à voir ce qui cloche, tout a l'air OK. As-tu essayé avec un balise <nested:form> au lieu de <html:form> ?

  3. #3
    vny
    vny est déconnecté
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 74
    Par défaut
    Est ce qu'il rentre dans ta méthode validate ou pas ?

  4. #4
    Membre très actif
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Par défaut
    j'ai l'impression que ca ne passe pas par la methode 'validate' mais je ne vois pas comment le vérifier ?

  5. #5
    Membre expérimenté
    Avatar de vahid
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 228
    Par défaut
    System.out.println("coucou"); au début de la méthode devrait técrire dans la console coucou si ca passe dans la méthode.
    SInon tu peux utiliser le systeme de logger si tu en as installer un.

  6. #6
    Membre très actif
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Par défaut
    Ok, j'ai bien coucou qui s'affiche donc la methode 'validate' est bien appelée mais ne fait pas son boulot.

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

Discussions similaires

  1. pb avec struts et la methode validate()
    Par chakir76300 dans le forum Struts 1
    Réponses: 2
    Dernier message: 04/05/2007, 13h21
  2. Réponses: 2
    Dernier message: 06/07/2006, 08h22
  3. Réponses: 8
    Dernier message: 16/06/2006, 14h51
  4. [struts]validate dans chaque actionForm?
    Par questionneuse dans le forum Struts 1
    Réponses: 3
    Dernier message: 17/05/2006, 15h36
  5. [Struts] Problème avec la méthode validate
    Par clement42 dans le forum Struts 1
    Réponses: 2
    Dernier message: 09/06/2005, 10h52

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