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 :

Message personnalisé et custom validator


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 325
    Par défaut Message personnalisé et custom validator
    Bonjour,

    j'utilise une méthode de validation d'un backing bean pour un champ de saisie d'un email. Dans cette méthode je crée un FacesMessage et je l'ajoute au contexte. Ce message s'affiche bien lorsque le composant n'est pas validé.

    Je venais d'essayer les attributs converterMessage et requiredMessage sur d'autres composants et comme ça marchait bien, j'ai voulu essayer sur mon composant de saisie d'un email.
    Mais là ça ne fonctionne pas. Si je met un attribut validatorMessage dans mon inputText, celui-ci n'est pas affiché et celui qui s'affiche est celui de la méthode de validation.
    Est-ce possible de forcer le message à afficher si un composant n'est pas validé par une méthode de backing bean ?

    C'est vrai que l'intetêt est limité puisqu'on fixe ce message dans la méthode du backing bean.
    Mais imaginons que celui qui écrive la page jsp ne soit pas celui qui écrit les classes, il ne pourrait pas changer le message d'erreur, ce qui est embettant non ?

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour.
    Je te propose la solution suivante :
    dans ta page (JSF) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <h:inputText value="#{yourValue}" required="true"
        validatorMessage="bla bla bla">
        <f:validator validatorId="yourValidatorId" />
    </h:inputText>
    et dans ton validator :
    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
     
    public void validate(FacesContext facesContext, UIComponent component,
                Object value) throws ValidatorException {
     
            String msg = (String) component.getAttributes().get("validatorMessage");
            if (msg == null)
                msg = "Url invalide ! ";
     
        :
        :
        :
         FacesMessage m = new FacesMessage (FacesMessage.SEVERITY_ERROR,
                msg + .... , "....");
        throw new ValidatorException(m);
    }
    tout le truc réside dans la récupération de la valeur de l'attribut validatorMessage du composant auquel est attaché ce validator !

    Ceci se fait via :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UIComponent.getAttributes().get("validatorMessage");

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    325
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 325
    Par défaut
    Merci pour le tuyau, je note ça dans un coin.
    Je ne suis pas sur JSF en ce moment, mais je testerai ça rapidement.

Discussions similaires

  1. Validator : message personnalisé non pris en compte
    Par sylverspoon dans le forum Zend_Form
    Réponses: 2
    Dernier message: 29/07/2009, 14h38
  2. Réponses: 9
    Dernier message: 17/08/2006, 15h04
  3. Réponses: 5
    Dernier message: 10/07/2006, 15h02
  4. [formulaire]afficher un message personnalisé
    Par adil_math2006 dans le forum IHM
    Réponses: 11
    Dernier message: 29/05/2006, 11h14
  5. message HTML/XML non valide pour ie
    Par ep31 dans le forum Valider
    Réponses: 6
    Dernier message: 08/03/2006, 20h19

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