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 :

[Struts 1.3.8] Validation de formulaires avec le plugin Validator


Sujet :

Struts 1 Java

  1. #1
    Membre éprouvé
    Inscrit en
    Septembre 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 147
    Par défaut [Struts 1.3.8] Validation de formulaires avec le plugin Validator
    bonjour,
    Je développe une application web avec le framework struts.
    J'essaie de mettre en place la validation des formulaires grâce au plug-in struts mais les tutoriaux que j'ai trouvé sont brefs, incomplets et divergents.

    voici l'état actuel de ma config :
    j'ai ces 4 lignes dans mon struts-config.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <message-resources parameter="messages" />  
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        	<set-property property="pathnames" value="/org/apache/struts/validator/validator-rules.xml,/WEB-INF/validation.xml"/>
    </plug-in>
    un fichier validation.xml dans le dossier WEB-INF :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE form-validation PUBLIC "-//Apache Software Foundation// DTD Commons Validator Rules Configuration 1.0//EN" "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd">
    <form-validation>
       <formset>             
          <form name="loginForm">
             <field property="login" depends="required">
                <arg0 key="login.login"/>
             </field>
    		 <field property="password" depends="required">
                <arg0 key="login.password"/>
             </field>
          </form>   
       </formset>   
    </form-validation>
    un fichier messages.properties a la racine de src :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # Error messages for Validator framework validations
    errors.required={0} doit être rempli.
    errors.minlength={0} doit comporter au moins {1} caractères.
    errors.maxlength={0} doit comporter au plus {2} caractères.
    errors.invalid={0} est invalide.
    errors.integer={0} doit être un entier.
    errors.float={0} doit être un nombre décimal.
    errors.range={0} doit être dans l'interval {1} à {2}.
    errors.email={0} n'est pas une adresse mail valide.
     
    login.login=login
    login.password=mot de passe
    j'ai une classe LoginForm qui hérite de ValidatorForm et une classe LoginAction.
    tout ca déclaré correctement dans mon struts-config.xml.

    dans ma page jsp j'ai un formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <html:form action="/Login" method="post" onsubmit="return validateLoginForm(this)">
    <html:text property="login" size="7"/>
    <html:password property="password" size="7"/>
    <html:submit property="submit" value="se connecter"/>
    </html:form>
    et dans le header j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:javascript formName="loginForm"/>
    les taglibs sont incluses et toutes les librairies de struts 1.3.8 sont dans le dossier lib.

    lorsque j'affiche ma page jsp, il trouve bien les fichiers cités ci dessus et me génère bien du code javascript (de plusieurs centaines de lignes) avec la bonne fonction validateLoginForm(form).
    cependant, lorsque les champs sont vides et que je clique sur "se connecter", il envoie le formulaire (donc la fonction javascript ne semble pas marcher) et le serveur d'application (jboss) affiche ceci dans la console :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    14:02:39,133 INFO  [ComposableRequestProcessor] Initializing composable request processor for module prefix ''
    14:02:39,168 WARN  [ValidatorResources] Form 'LoginForm' not found for locale 'fr'
    14:02:39,170 INFO  [CreateAction] Initialize action of type: fr.ifsic.emedia.presentation.struts.actions.LoginAction
    14:37:26,405 WARN  [ValidatorResources] Form 'LoginForm' not found for locale 'fr'
    Je ne sais pas ce que j'ai oublié ne mettre pour que ca fonctionne, si vous pouviez m'éclaircir, ca m'aiderait un peu.

    Merci d'avance

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 116
    Par défaut
    Salut,
    Ton post est bien fait !!!
    Je ne suis pas sur mais il me semble que struts 1.3.8 utilise un version de commons validator dont la config n'utilise plus arg0, arg1, ... mais arg tous court...
    Il te faut un fichier de propriétees par langue desirée, si tu veux supprimer les warn...

Discussions similaires

  1. Réponses: 21
    Dernier message: 03/02/2010, 10h36
  2. Validation de formulaire avec spring 2.5 et struts 2
    Par miles_ dans le forum Spring Web
    Réponses: 4
    Dernier message: 02/02/2010, 18h27
  3. valider un formulaire avec struts
    Par barchoui dans le forum Struts 1
    Réponses: 14
    Dernier message: 27/11/2008, 14h29
  4. Réponses: 4
    Dernier message: 04/09/2007, 08h55
  5. Valider un formulaire avec la touche entree
    Par djedie dans le forum ASP.NET
    Réponses: 5
    Dernier message: 29/03/2007, 10h38

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