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 :

Ne pas fermer le modalPanel si erreur de convertion


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 129
    Par défaut Ne pas fermer le modalPanel si erreur de convertion
    Bonjour,

    Je suis aujourd'hui face à un problème. J'ai le modal panel qui suit :
    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
     
     <a4j:form>
                <h:outputText value="Quantité : "/>
                <h:inputText value="#{panierBean.quantiteChoisi}" id="qte">
                    <f:convertNumber integerOnly="true"   />
     
     
                </h:inputText>
                 <rich:message for="qte" rendered="true" >
                            <f:facet name="erreur">
                                <h:graphicImage  value="/images/error.gif" />
                            </f:facet>
                        </rich:message>
                        <a4j:commandButton value="Valider" reRender="qte" id="valider" action="#{panierBean.ajouter}"  oncomplete="Richfaces.hideModalPanel('nombreCmd');" />
            </a4j:form>
    Que le format dans l'input soit correcte ou non, mon modal panel se ferme. Je voudrais qu'en cliquant sur le bouton Valider, ce modal panel ne se ferme pas si un message d'erreur de conversion est affiché.

    Aussi, comment redéfinir le message par défaut de conversion ?

    Merci de votre aide.

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Bonjour,

    Voilà 2 pistes :

    Piste #1
    Faire mumuse avec l'attribut showWhenRendered de la popup.

    Piste #2
    Dans ton bean, tu gardes une propriété sous forme de booléen qui dit si la popup doit être fermée ou non.
    Ensuite, tu places un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:inputHidden id="fermeturePopup" value="#{bean.fermeturePopup}"/>
    et dans ton code du bouton (n'oublie pas de donner l'ID popupForm au formulaire) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... oncomplete="if ($F('popupForm:fermeturePopup') == 'true') { Richfaces.hideModalPanel('...'); }" ...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 129
    Par défaut
    Merci Romain, ça marche parfaitement

  4. #4
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Cool.
    Par curiosité, tu as opté pour quelle piste ?
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 129
    Par défaut
    La seconde me paraissait abordable plus rapidement.

  6. #6
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 102
    Par défaut Même punition
    Bonjour,

    J'ai le même problème que M€lK!oR avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a4j:commandButton action="#{resourceDMA.valid()}" oncomplete="if(#{resourceDMA.validated} == 'true'){Richfaces.hideModalPanel();}" />
    Ce bouton situé dans une page modale me permet de valider des saisies dans un formulaire, via la methode valid() qui renvoit un boolean.

    Seulement la validation n'est pas faite, la modale est fermée et les messages d'erreur ne sont donc pas affichés !

    Merci de bien vouloir éclairer ma lanterne.

  7. #7
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Bonjour,

    Ton problème vient peut-être de la mise à jour de la valeur du resourceDMA.validated.
    Le mieux serait peut-être d'appliquer exactement la solution que j'avais proposé, à savoir en passant par un champ hidden qui est rafraichi par l'Ajax, et dont on va ensuite vérifier la valeur par Javascript...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  8. #8
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 102
    Par défaut
    Oui j'ai fait déjà le test que tu proposais au dessus mais ça ne fonctionnait pas.
    J'ai alors fait des modifs et j'ai posté le dernier code envisagé

  9. #9
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Qu'est-ce qui ne fonctionnait pas au juste avec la solution Javascript ?
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  10. #10
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 102
    Par défaut
    Et bien en fait je ne comprends pas trop le comportement : la fenêtre modal se ferme même si je fixe le fermeturePopup à false !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <h:outputLabel value="#{resourceDMA.validated}"/>
     
    <h:inputHidden id="fermeturePopup" value="#{resourceDMA.validated}"/>
    <a4j:commandButton  action="#{resourceDMA.valid()}" oncomplete="if ($F('wpModalForm:fermeturePopup') == 'true') { Richfaces.hideModalPanel('wpModal'); }" />
    J'ai ajouté un champs visible afin de mieux comprendre et ma value est false, ça j'en suis sur

    Et qui dit false dit modal affichée ...Et ben non

  11. #11
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Visiblement, les champs (hidden ainsi que celui visible) contenant la valeur de ce booléen ne sont pas rafraichis par ton <a4j:commandButton>. Il faudrait les inclure dans l'attribut reRender...

    Sans cela, leurs valeurs ne seront pas mise à jour...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  12. #12
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2008
    Messages : 102
    Par défaut
    Merci pour ton aide Romaintaz mais je crois que j'ai omis cette précision bien utile : ma fenetre modal est un composant richfaces !
    Je pense que se doit etre un bug et j'ai abandonné l'idée de la modal pour réaliser mes verifications dans une page "normale" ...et ça fonctionne beaucoup mieux comme ça

  13. #13
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Citation Envoyé par kyryan Voir le message
    Merci pour ton aide Romaintaz mais je crois que j'ai omis cette précision bien utile : ma fenetre modal est un composant richfaces !
    Depuis le début de cette discussion, on parle du composant <rich:modalPanel>, donc je ne vois pas trop ce que cela change...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

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

Discussions similaires

  1. N'arrive pas à fermer un sujet
    Par Antigonos Ier Gonatas dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 3
    Dernier message: 03/04/2006, 16h29
  2. [windowClosing] Ne pas fermer une application
    Par GLDavid dans le forum AWT/Swing
    Réponses: 12
    Dernier message: 23/03/2006, 17h27
  3. Réponses: 10
    Dernier message: 13/02/2006, 08h30
  4. Je vois pas d'où vient mon erreur!! Aidez moi SVP
    Par liliboms dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/04/2005, 08h25
  5. pas moyen de trouver l'erreur de ce code Javascript !!!
    Par NATHW dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/11/2004, 21h47

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