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] problème avec validation côté client


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 132
    Par défaut [Validator] problème avec validation côté client
    je veux travailler sur une validation côté client avec le puging validator pour cela j'ai vu certains exemples utilisant ce dernière ensuite j'essaie faire un exemlpe pour le comprendre mais ca marche pas.
    Voici tous ce que concerne mon exemple:

    struts-config.xml:

    Code xml : 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
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
              "http://struts.apache.org/dtds/struts-config_1_3.dtd">
     
    <struts-config>
    <form-beans>
    		<form-bean name="client" type="struts.beans.ClientBean"/>
    </form-beans>
    <action-mappings>
    		<action path="/afficher"
    		    scope="session"
    			input="/page1.jsp" 
    			name="client"   
    			type="struts.actions.ClientAction"
    			validate="true">
    			<forward name="ok" path="/page2.jsp"/>
    		</action>
    </action-mappings>
    <message-resources parameter="MessageResources" />
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    <set-property property="pathnames"
    value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/>
    </plug-in>
    </struts-config>
    page jsp:

    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
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title></title>
    <html:javascript formName="monForm"/>
    </head>
    <body>
    <html:form action="afficher"  onsubmit="return validateMonForm(this);">
    <table>
    <tr>
    <td>Nom :</td>
    <td><input type="text" name="nom"></td>
    <td><input type="submit" value="Afficher"></td>
    </tr>
    </table>
    </html:form>
    </body>
    </html>
    mon ActionForm :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public class ClientBean extends ValidatorForm {
    private String nom;
     
    public ClientBean() {
    	super();
    }
    public String getNom() {
    	return nom;
    }
    public void setNom(String nom) {
    	this.nom = nom;
    }
    }
    validation.xml

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE form-validation PUBLIC
             "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN"
             "http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd">
    <form-validation>
       <formset>             
          <form name="monForm">
             <field property="nom" depends="required">
                <msg name="required" key="error.nom.obligatoire"/>
             </field>   
          </form>        
       </formset>   
    </form-validation>
    le fichier de messages:

    errors.header=<ul>
    errors.prefix=<li style="color:red">
    errors.suffix=</li>
    errors.footer=</ul>
    error.nom.obligatoire=Le champ nom est obligatoire
    errors.required={0} est obligatoire.
    errors.invalid={0} est invalide.
    errors.maxlength={0} ne peut pas avoir plus de 8 caractère(s).
    errors.minlength={0} ne peut pas avoir moins de {1} caractère(s).
    errors.range={0} n'est pas dans l'intervalle de {1} à {2}.
    errors.byte={0} doit être un nombre du type byte.
    errors.date={0} incorrecte.
    errors.double={0} doit être un nombre du type double.
    errors.float={0} doit être un nombre du type float.
    errors.integer={0} doit être un nombre du type Integer.
    errors.long={0} doit être un nombre du type long.
    errors.short={0} doit être un nombre du type short.
    errors.creditcard={0} n'est pas un numéro de carte de crédit valide.
    errors.email={0} n'est pas une adresse e-mail valide.
    et pour le fichier validator-rules.xml j'utilise le fichier fourni dans la destribution de Strus

    ce que je pourrais:
    une fois je clique sur le bouton submit sans saisir aucune valeur alors que struts m'affiche un message d'erreur.

    metci 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
    Le form-bean s'appelle client et non monForm.

    Il faut donc modifier la jsp comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:javascript formName="client"/>
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:form action="afficher"  onsubmit="return validateClient(this);">
    et dans le fichier validation.xml, il faut non seulement changer le nom du form mais aussi lui spécifier quel libellé sera passé en argument du message errors.required :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
          <form name="client">
             <field property="nom" depends="required">
                <arg key="nom"/>
             </field>   
          </form>
    et dans le fichier des messages tu peux remplacer cette ligne :
    error.nom.obligatoire=Le champ nom est obligatoire
    par celle-ci :
    nom=Le champ nom
    Ainsi, pour la règle de validation required, le Validator ira chercher automatiquement le message suivant :
    errors.required={0} est obligatoire.
    en remplaçant l'argument, soit {0}, par le libellé affecté au champ nom, soit "Le champ nom".
    Et donc, le message d'erreur suivant s'affichera :
    Le champ nom est obligatoire.

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 132
    Par défaut


    merci pour votre aide
    j'ai fait comme vous m'avez dit et effectivement il a été fonctionné bien alors une fois faire un clic sur submit sans saisir une valeur une alert s'affiche mais (et ceci est l'essentiel) sans message.

    faire pour moi ce plaisir.

    et merci très beaucoup pour votre collaboration,c'est très gentil

  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
    Dans la jsp, il faudrait utiliser le tag html:text et donc remplacer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><input type="text" name="nom"></td>
    par ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><html:text property="nom"/></td>

  5. #5
    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
    Et ton fichier MessageResources.properties, est-il bien sous src ?

  6. #6
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 132
    Par défaut
    le problème c'est que le fichier de messages était existé dans le répertoire src mais pas dans Buil.
    je l'ai fait un coupier-coller est mon exemple ca marche.
    il me reste que la validation d'un champs date avec Validator vraiment j'ai acune idée.

Discussions similaires

  1. problème avec validation d'un champ double
    Par luna007 dans le forum Struts 1
    Réponses: 4
    Dernier message: 21/06/2008, 23h26
  2. Problème de validation W3C avec XSL
    Par gbonnet dans le forum Valider
    Réponses: 3
    Dernier message: 29/04/2008, 13h18
  3. Réponses: 11
    Dernier message: 12/03/2008, 16h25
  4. Problème avec validator.xml
    Par ahury dans le forum Struts 1
    Réponses: 2
    Dernier message: 19/12/2006, 17h38
  5. Problème avec validator-rules.xml
    Par steffy_29 dans le forum Struts 1
    Réponses: 1
    Dernier message: 08/12/2006, 10h51

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