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 :

Changement de couleur des champs text en cas d'erreur de validation


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut Changement de couleur des champs text en cas d'erreur de validation
    Bonjour,

    J'ai un problème ou plutôt, je ne vois vraiment pas comment faire ça...

    Voilà j'ai une validation de deux camps, nom et password, je valide donc ce formulaire(DynaValidatorForm) avec ces deux champs, si les champs ne satisfassent pas les critères que j'ai mis dans un fichier appelé validation.xml et voici sont contenu pour les deux champs en question:

    <form name="loginForm">
    <field property="nombre" depends="required, minlength, maxlength">
    <arg0 key="label.nombre" />
    <!-- <arg0 key="label.dni" />-->
    <arg1 name="minlength" key="${var:minlength}" resource="false"/>
    <arg2 name="maxlength" key="${var:maxlength}" resource="false"/>
    <var>
    <var-name>minlength</var-name>
    <var-value>3</var-value>
    </var>
    <var>
    <var-name>maxlength</var-name>
    <var-value>50</var-value>
    </var>
    </field>

    <field property="password" depends="required, minlength,maxlength">
    <arg0 key="label.password" />
    <arg1 name="minlength" key="${var:minlength}" resource="false" />
    <arg2 name="maxlength" key="${var:maxlength}" resource="false" />
    <var>
    <var-name>minlength</var-name>
    <var-value>3</var-value>
    </var>
    <var>
    <var-name>maxlength</var-name>
    <var-value>30</var-value>
    </var>
    </field>

    </form>
    Dans une jsp j'ai ce paramètre pour afficher une validation en cas d'erreur:

    <html:errors/>, si les champs sont incorrect alors j'obtiens bien les messages d'erreur.

    Maintenant ce que je ne sais pas faire , c'est que j'aimerais changer de couleur les champs de textes si la validation est incorrect, pour être plus claire je voudrais appeler une fonction javaScript si le contenu de <html:errors/> n'est pas vide...


    Je vous remercie d'avance .

  2. #2
    Expert confirmé

    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
    Par défaut
    Si tu utilises une version de Struts supérieure ou égale à la 1.2.5, tu peux utiliser les attributs errorStyle ou errorStyleClass du tag html:text.

    Sinon, tu peux tester la présence de messages d'erreur sur les champs 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
    <logic:messagesPresent property="nomDuChamp">
       <td style="color:red;">
    </logic:messagesPresent>
    <logic:messagesNotPresent property="nomDuChamp">
       <td>
    </logic:messagesNotPresent>
    ...

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	<table bgcolor="#cccddd" border="1" align="center">
    		<tr>
    			<td><b><bean:message key="label.nom" /></b></td>
    			<td><html:text property="nom" name="loginForm">*&nbsp:</html:text></td>
    		</tr>
    		<tr>
    ......
    et là je ne vois pas comment utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <logic:messagesPresent property="nom">
       <td style="color:red;">
    </logic:messagesPresent>
    et aussi on imagine que je veuilles appeler une fonction javaScript entre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <logic:messagesPresent property="nom">
    maFonctionJavaScript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    </logic:messagesPresent>
    Merci

  4. #4
    Expert confirmé

    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
    Par défaut
    Pourquoi vouloir à tout prix utiliser du Javascript ?

    Avec la deuxième solution que j'ai donné, ça donnerait ceci :
    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>
         <html:text property="nom">*&nbsp:</html:text>
       </td>

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    Ok je change mes bibliothèque vers struts 1.2.6 je test errorStyle et aussi cette solution....


    et je reviens

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    je ne vois pas ce qui ne marche pas mais j'ai ça...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	<table bgcolor="#cccddd" border="1" align="center">
    		<tr>
    			<td><b><bean:message key="label.nom" /></b></td>
    			<logic:messagesPresent property="nom">
    		 		<td style="color:#FF6600;">
    		 	</logic:messagesPresent>
    		 	<logic:messagesNotPresent property="nom">
      				 <td>
    			</logic:messagesNotPresent>
    		 	<html:text property="nom" name="loginForm">*&nbsp:</html:text></td>
    		</tr>
    		<tr>
    et rien ni fait,

    j'ai aussi changé les bibliothèque de struts ver une version 1.2.6 et l'attribut errorStyle n'est pas reconnu...

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

Discussions similaires

  1. [AC-2007] Changement de Couleur D'un Texte Suivant La Valeur du champ
    Par katalonb dans le forum VBA Access
    Réponses: 2
    Dernier message: 16/04/2015, 12h57
  2. Réponses: 4
    Dernier message: 31/08/2005, 00h32
  3. concaténer par GROUP BY des champs text/varchar
    Par Fredobdx dans le forum Requêtes
    Réponses: 1
    Dernier message: 12/07/2005, 13h44
  4. [SQLite]éliminer un motif dans des champ TEXT
    Par Invité(e) dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/05/2005, 17h44
  5. Boucler sur des champs texte
    Par syl2095 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/11/2004, 16h15

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