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 :

[Struts] validation formulaire


Sujet :

Struts 1 Java

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2002
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 33
    Points : 22
    Points
    22
    Par défaut [Struts] validation formulaire
    Bonjour tout le monde,
    j'ai un soucis lorsque je souhaite valider un formulaire.
    tout se passe bien sauf pour un élement du formulaire qui n'est pas valider.
    mon formulaire se compose de pas mal de champs et d'un tableau de productGroup (c'est l'élément qui foire).
    poit de vue code ca donne ceci.
    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
    54
    55
    56
     
     // FORM product group
     
      private ProductGroup[] prod=new ProductGroupTO[]{};
    public ProductGroup[] getProd() {
    	return prod;
    }
    public void setProd(ProductGroup[] prod) {
    	this.prod = prod;
    }
     
     
     
    //action
    ProductGroup[] p = new ProductGroupTO[pg.size()];
        int i=0;
     
        //Iterator it=pg.iterator();
        for (Iterator it = pg.iterator(); it.hasNext();)
    		{
    		ProductGroup pr = (ProductGroupTO) it.next();
     
    		p[i]=new ProductGroupTO();
            p[i].setDescription(pr.getDescription());
    		p[i].setSecured_client(pr.getSecured_client());
    		p[i].setSecured_client_counter(pr.getSecured_client_counter());
    		i++;
    	}
        form.setProd(p);
        BeanUtils.copyProperties(form, p);
        session.setAttribute("CustomerManagementActionForm",form);
     
     
    //jsp
      <html:form name="CustomerManagementActionForm" type="be.post.maintenance.view.form.CustomerManagementActionForm" action="/jsp/customerManagementAction.do?action=editCustomer"  scope="session">
            logic:iterate indexId="i" id="current" property="prod" name="CustomerManagementActionForm" >
    <tr>
    	<td><bean:write  name="current" property="description"/></td>
    	<td><html:checkbox name="current" property="secured_client"/></td>
    	<td><html:text name="current" property="secured_client_counter" /></td>
    <tr>
    </logic:iterate>
     </table>
    <button:submit width="100" label="<%=TranslationUtils.GetPromptTranslation("MPW_EDIT_CUSTOMER","EDIT",pageContext.getSession().getId())%>"/>
     
            </html:form>
     
     
    // product group
     
     private Long number;
        private String description;
        private Integer webAvailable;
        private Integer forceStatus;
        private boolean secured_client;
        private String secured_client_counter;
    merci d'avance pour les idées que vous me soumetrez.

  2. #2
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Points : 17 036
    Points
    17 036
    Par défaut
    Il manque des infos.

    Qu'est-ce qui se passe exactement?

    Essaye de découper tes sources dans plusieurs balises code, c'est plus facile à lire

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2002
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    merci de t'interesser à mon probleme.
    alors ce qu'il se passe est tres simple.
    lorsque je récupère mon formulaire apres validation, toutes les données sont bien mise à jour sauf les champs correspondant aux product group.
    a savoir les champs présents dans

    <logic:iterate indexId="i" id="current" property="prod" name="CustomerManagementActionForm" >
    <tr>
    <td><bean:write name="current" property="description"/></td>
    <td><html:checkbox name="current" property="secured_client"/></td>
    <td><html:text name="current" property="secured_client_counter" /></td>
    <tr>
    </logic:iterate>
    dans le form je définis un tableau de ProductGroup

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      private ProductGroup[] prod=new ProductGroupTO[]{}; 
    public ProductGroup[] getProd() { 
       return prod; 
    } 
    public void setProd(ProductGroup[] prod) { 
       this.prod = prod; 
    }
    dont voici les infos

    les champs d'un productgroup sont
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     private Long number; 
        private String description; 
        private Integer webAvailable; 
        private Integer forceStatus; 
        private boolean secured_client; 
        private String secured_client_counter;
    l'affichage des données lors de la présentation du formulaire se passe tres bien. le soucis est juste lors de la validation.

    merci

  4. #4
    Membre à l'essai
    Inscrit en
    Décembre 2002
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    j'ai résolu une partie de mon probleme grâce aux multibox.
    maintenant j'arrive à récupérer les checkbox mais comment puis je faire pour récupérer les valeurs d'un autre champs de la classe productgroup?

    merci

  5. #5
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Points : 17 036
    Points
    17 036
    Par défaut
    ben si tu as l'id de l'instance du productGroup (via le multibox), tu dois pouvoir récupérer les infos dont tu as besoin... non?

  6. #6
    Membre à l'essai
    Inscrit en
    Décembre 2002
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    oui j'ai l'ID mais le probleme est que je vais modifier le nombre de produit, qui sera une zone de texte a coter de la checbox.
    et je n'arrive pas à récupérer cette zone.
    merci

  7. #7
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Points : 17 036
    Points
    17 036
    Par défaut
    oui là c'est plus délicat pour identifier le nombre de tel ou tel produit étant donné que ta liste est dynamique.

    Donc moi ce que je ferais ce serait d'ajouter un champ que je nomme de façon incrémentale (avec une racine identique pour toutes les quantités) et cet incrément est en fait l'id de ton productGroup. Du coup il ne faut plus utiliser le tag struts pour ce champ en particulier mais gérer toi-même le traitement de ce champ.

    Bon y a peut-être des solutions plus propres et plus adaptées mais perso je ne les connais pas.

  8. #8
    Membre à l'essai
    Inscrit en
    Décembre 2002
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    merci de ta réponse, en effet ca a l'air correcte mais je ne vois pas trop (pas du tout) comment le réalisre, pourrais tu me donner plus d'info ou une base pour commencer?

    merci

  9. #9
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Points : 17 036
    Points
    17 036
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <logic:iterate indexId="i" id="current" property="prod" name="CustomerManagementActionForm" >
     <tr>
      <td><input type="text" name="qte${current.id}"/></td>
      <td><bean:write name="current" property="description"/></td>
      <td><html:checkbox name="current" property="secured_client"/></td>
      <td><html:text name="current" property="secured_client_counter" /></td>
     <tr>
    </logic:iterate>
    Bon t'imagine bien que je n'ai pas testé cela...
    Sinon, il reste un problème, les nombres ne persistent pas... à toi d'essayer de résoudre le reste

Discussions similaires

  1. [Struts] Validation formulaire
    Par nighma dans le forum Struts 1
    Réponses: 1
    Dernier message: 10/10/2006, 21h14
  2. [Débutant] - Struts Validation formulaire
    Par chennuo dans le forum Struts 1
    Réponses: 5
    Dernier message: 21/07/2006, 08h49
  3. Réponses: 4
    Dernier message: 19/01/2006, 16h24
  4. Réponses: 3
    Dernier message: 15/03/2005, 12h22
  5. [Struts]Validation de formulaire
    Par djoukit dans le forum Struts 1
    Réponses: 4
    Dernier message: 12/03/2004, 09h12

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