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 :

[Validator] affecter une couleur aux champs en erreur


Sujet :

Struts 1 Java

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 54
    Points : 43
    Points
    43
    Par défaut [Validator] affecter une couleur aux champs en erreur
    Bonjour à tous,
    j'essaie de mettre en place un formulaire sur lequel je veux effectuer des controles avec un Validator.
    Mon but est de faire en sorte que les champs qui ne sont pas correctement remplis s'affichent en rouge sur la jsp.
    Si je fais un controle de surface en utilisant le Validator de Struts je pense que ce ne sera pas possible. Donc je fais le controle au niveau d'une classe ActionForm dans la methode validate et je veux recuperer les champs incorrects( pour l'instant grace a la balise html:errors) pour renvoyer l'utilisateur sur la page de formulaire avec les champs faux marqués en rouge.
    Est ce possible avec Struts?

    Merci de votre aide.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 123
    Points : 129
    Points
    129
    Par défaut
    Tu peux directement le faire grâce au Validator, en mettant dans tes balises <html:> l'attribut "errorStyle" que tu définis dans ton css avec comme couleur de fond rouge.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 123
    Points : 129
    Points
    129
    Par défaut
    "errorStyleClass" autant pour moi

  4. #4
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 54
    Points : 43
    Points
    43
    Par défaut
    Merci pour ta réponse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <html:form method="POST" action="">
    		<html:text property="mytext" errorStyleClass=""></html:text>
    		<html:submit>Envoyer</html:submit>
    		</html:form>
    tu lui passe quoi en parametre? une feuille de style? une classe que tu as crée? comment ta page con nait les champs qui sont faux?

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 123
    Points : 129
    Points
    129
    Par défaut
    En paramètre tu mets une class de ta feuille de style, si tu n'as pas de feuille de style tu peux mettre directement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:text property="mytext" errorStyle="background-color: #FFEEEE;"></html:text>
    Si il y a des erreurs ca utilisera ce style (c'est le même principe que <html:errors/> s'il y a des erreurs il les affiche)

  6. #6
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 54
    Points : 43
    Points
    43
    Par défaut
    Merci ca marche.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 67
    Points : 38
    Points
    38
    Par défaut
    Bonjour, juste pour savoir! est-il obligatoire d'utiliser le validator ou cela peut-il fonctionner avec les validate des ActionForm?
    Car mon application a déjà tous les contrôles fait dans les validate donc est-il compliqué de migrer vers le validator au pire ??

  8. #8
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Il n'est pas du tout obligatoire d'utiliser le Validator.
    Généralement, on l'utilise dans le cas de validations simples.
    De plus, avec le Validator, il est possible d'activer une validation côté client en plus de la validation côté serveur.

    Enfin, si tous les contrôles sont déjà fait dans les méthodes validate, il n'est peut-être pas utile de migrer.

  9. #9
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 67
    Points : 38
    Points
    38
    Par défaut
    Bon ok alors pourrais-tu m'expliquer vite fait comment fonctionne les attributs errorStyle et errorStyleClass ?
    J'ai bien compris que c'était un style qui s'applique lorsqu'il y a une erreur de saisie et un actionMessage affiché sur la JSP, cependant lorsque j'ai une erreur ce style ne s'applique pas su ma JSP! De plus ce serait plutot le label associé au champ de saisi auquel je désirerai appliquer un autre style en cas d'erreur !

  10. #10
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Si par exemple, tu codes ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:text property="nom" errorStyle="color:red;"/>
    à la soumission du formulaire, s'il y a une erreur de validation sur le champ nom, la valeur saisie dans le champ nom deviendra rouge.
    Ceci ne fonctionne qu'avec une validation côté serveur.

  11. #11
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 67
    Points : 38
    Points
    38
    Par défaut
    Ben j'avais bien compris ce qu'il fallait faire mais ça ne fonctionne pas sur mon projet ! Ma JSP affiche bien les ActionMessage que je renvoi avec le validate mais mon html:text ne prend pas le style du errorStyle? Comment ce fait-ce ?

  12. #12
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Peux-tu vérifier dans la méthode validate que le nom passé en paramètre de la méthode add de ActionErrors correspond bien au nom du champ ?

    Par exemple, si tu as :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:text property="nom" errorStyle="color:red;"/>
    dans la méthode validate :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ( nom.length() > 7 )
    {
    	ActionMessage message = new ActionMessage("errors.maxlength","nom") ;
    	errors.add("nom",message) ;
    }

  13. #13
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 67
    Points : 38
    Points
    38
    Par défaut
    Ah super merci beaucoup, j'avais pas saisi qu'il fallait utilisé la property!
    J'aimerai changer le style de label du champs text, le problème est que c'est un <bean:message et non une balise <html:text, est-ce possible ? Car il n'y a pas d'attribut errorStyle pour les bean:message !!

  14. #14
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Tu peux tester la présence de message d'erreur sur la propriété via le tag logic:messagesPresent et mettre un style particulier dans ce cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <logic:messagesPresent property="nom">
       <td style="color:red;">
    </logic:messagesPresent>
    <logic:messagesNotPresent property="nom">
       <td>
    </logic:messagesNotPresent>
       <bean:message key="cleDuMessage"/>
    </td>

  15. #15
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 67
    Points : 38
    Points
    38
    Par défaut
    Oui c'est une idée par contre si je veux que ça réponde à tous les types d'erreurs je vais avoir un code énorme dans ma JSP juste pour un label !! lol. La solution que j'ai adopté pour l'instant c'est la coloration des border de mes input text et select. C'est pas mal on voit bien ou est l'erreur ...

  16. #16
    Nouveau Candidat au Club
    Inscrit en
    Mai 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    MERCI POUR VOS COMMENTAIRS

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

Discussions similaires

  1. affecter une valeur à un champ caché
    Par MayOL69bg dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/04/2007, 16h00
  2. Réponses: 6
    Dernier message: 20/02/2007, 15h43
  3. Réponses: 3
    Dernier message: 18/07/2006, 11h17
  4. Réponses: 2
    Dernier message: 09/04/2006, 11h45
  5. [D7] affecter une couleur à un TLabel
    Par raoulmania dans le forum Composants VCL
    Réponses: 8
    Dernier message: 05/09/2005, 15h06

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