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

JSF Java Discussion :

Problème pour la mise à jour et la validation de plusieurs champs situés dans une itération <a4j:repeat>


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13
    Par défaut Problème pour la mise à jour et la validation de plusieurs champs situés dans une itération <a4j:repeat>
    Bonjour,

    Je rencontre actuellement un souci avec JSF pour effectuer un process de plusieurs champs suite à un <a4j:support> situé dans un <a4j:repeat>. Le problème que j'ai est je n'arrive qu'à effectuer la validation et la mise à jour du champ sur lequel est rattaché le <a4j:support>.

    Voici le code que j'essaie de mettre en place :

    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
     
    <a4j:repeat var="element" value="#{bean.elements}">
    	<h:inputText id="montant" styleClass="numerique"
    		value="#{element.montant}"
    		converter="montantConverter"
    		converterMessage="#{messages['erreur.format']}">
    		<a4j:support ajaxSingle="true" event="onchange" reRender="table-garantie-rc, tarif, offresProcessCommand" process="montant,montant2,montant3" />
    	</h:inputText>
    	<h:message for="montant" styleClass="msg-erreur"/>
     
    	<h:inputText id="montant2" styleClass="numerique"
    		value="#{element.montant2}"
    		converter="montantConverter"
    		converterMessage="#{messages['erreur.format']}">
    		<a4j:support ajaxSingle="true" event="onchange" reRender="table-garantie-rc, tarif, offresProcessCommand" process="montant,montant2,montant3" />
    	</h:inputText>
    	<h:message for="montant2" styleClass="msg-erreur"/>
     
    	<h:inputText id="montant3" styleClass="numerique"
    		value="#{element.montant3}"
    		converter="montantConverter"
    		converterMessage="#{messages['erreur.format']}">
    		<a4j:support ajaxSingle="true" event="onchange" reRender="table-garantie-rc, tarif, offresProcessCommand" process="montant,montant2,montant3" />
    	</h:inputText>
    	<h:message for="montant3" styleClass="msg-erreur"/>
     
    </a4j:repeat>
    Ce que je voudrais c'est pouvoir conserver chacun des messages d'erreur des converters de chaque champ lors des différents appels aux <a4j:support>. Or avec ce code, seul le champ modifié est traité par mon converter et donc je perds les messages d'erreur obtenus au préalable.

    Avez-vous déjà rencontré ce cas où auriez-vous des idées pour me débloquer?

    Merci pour votre aide!

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Par défaut
    Salut,

    Essaie d'enlever le ajaxSingle="true" à tes a4j:support.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Par défaut
    Citation Envoyé par simplicity2k Voir le message
    Salut,

    Essaie d'enlever le ajaxSingle="true" à tes a4j:support.
    J'avais pas vu les attributs process ... Donc cela semble bon.

    Par contre tu ne rafraichis que les champs, pas les h:message, je pense que tu peux voir de ce coté là.

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13
    Par défaut
    Merci pour tes réponses simplicity2k!

    Mon problème est que je n'arrive pas à faire un process des autres itérations présentes dans mon <a4j:repeat>.

    Pour mes <h:message>, ils seront affichés seulement si mes champs sont à nouveau process car c'est le converter qui va créer mes messages d'erreurs.

    Je ne vois pas comment relancer le process et la mise à jour de tous les champs contenus dans l'itération. J'ai essayé de faire un process de mon <a4j:repeat> mais ça ne fonctionne pas non plus.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Par défaut
    Citation Envoyé par touffifou Voir le message
    Merci pour tes réponses simplicity2k!

    Mon problème est que je n'arrive pas à faire un process des autres itérations présentes dans mon <a4j:repeat>.

    Pour mes <h:message>, ils seront affichés seulement si mes champs sont à nouveau process car c'est le converter qui va créer mes messages d'erreurs.

    Je ne vois pas comment relancer le process et la mise à jour de tous les champs contenus dans l'itération. J'ai essayé de faire un process de mon <a4j:repeat> mais ça ne fonctionne pas non plus.
    Je serai toi, j'essaierai de supprimer les ajaxSingle et les process. Comme cela, en principe, l'intégralité des champs devraient être envoyés à ton bean. Mets des points d'arret dans tes setters pour valider le fonctionnement. Ensuite tu pourras essayer de remettre du ajaxSingle et process pour voir comment ça réagit.

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13
    Par défaut
    Je te remercie! En enlevant les "ajaxSingle" et les "process", j'ai bien mes champs qui sont traités et cela résout mon problème.

    Merci de ton aide!

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/12/2014, 08h58
  2. Réponses: 1
    Dernier message: 06/09/2013, 10h49
  3. Réponses: 3
    Dernier message: 28/05/2008, 11h43
  4. Réponses: 4
    Dernier message: 07/09/2006, 11h21
  5. Problème récurrent de mise à jour
    Par r@phy dans le forum Access
    Réponses: 8
    Dernier message: 10/02/2006, 13h19

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