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 :

Validateur custom


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 120
    Par défaut Validateur custom
    Bonjour,

    Voilà je voudrais créer un validateur à ma sauce.

    Pour cela j'ai donc créer une classe ayant une méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    	public static boolean marge(Object bean,
    			ValidatorAction va, Field field,
    			ActionErrors errors,
    			HttpServletRequest request) 
    	{
    		String val = field.getProperty();
    		System.out.println("val = " + val);
     
    		return true;
    	}
    Elle ne fait pas grand chose pour le moment.
    Ensuite, j'ai ajouté le validateur ainsi dans le fichier validator-rules.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
          <validator name="marge"
                classname="validators.MargeValidator"
                   method="marge"
             methodParams="java.lang.Object,
                           org.apache.commons.validator.ValidatorAction,
                           org.apache.commons.validator.Field,
                           org.apache.struts.action.ActionMessages,
                           org.apache.commons.validator.Validator,
                           javax.servlet.http.HttpServletRequest"
                  depends=""
                      msg="errors.marge"/>
    Puis, dans un formulaire, j'ai fait appel à cette règle de validation.

    Mais voilà, la règle n'est pas appliquée.

    Qu'est ce qui manque pour que mon validateur soit reconnu ?

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 120
    Par défaut Pad de réponse
    Bonjour,

    Visiblement, personne ne voit comment me répondre.

    Si quequ'un a déjà créé un validateur sous Struts et qu'il peut m'envoyer ses sources, ca m'aiderait.

    Merci d'avance

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Avril 2006
    Messages : 15
    Par défaut
    methodParams="java.lang.Object,
    org.apache.commons.validator.ValidatorAction,
    org.apache.commons.validator.Field,
    org.apache.struts.action.ActionMessages,
    org.apache.commons.validator.Validator,
    javax.servlet.http.HttpServletRequest"
    Déjà ici, tu as 6 params à ta fonction,
    un object, un validatorAction, un Field, un ActionMessages, un Validator et un Request.

    Or dans ta fonction

    public static boolean marge(Object bean,
    ValidatorAction va,
    Field field,
    ActionErrors errors,
    HttpServletRequest request)
    Il n'y en a que 5, peut etre qu'il ne trouve pas la bonne fonction

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2005
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 120
    Par défaut Ce n'est pas ca
    J'ai tenu compte de ta remarque et j'ai modifié. Malheuresement ca ne fonctionne toujours pas. Il ne passe pas dans mon validateur.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Avril 2006
    Messages : 15
    Par défaut
    J'en ai fait un et je n'ai pas eu de problemes, je regarde ce que j'ai quand je serais au boulot, chez moi pas de JAVA

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Avril 2006
    Messages : 15
    Par défaut
    Tiens voici mon code et ma config
    J'ai un fichier validator-custom-rules.xml, histoire de ne pas melanger avec les validation de base.
    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
     
    <form-validation>
     
       <global>
     
          <validator name="multiple"
                classname="monpackage.StrutsValidator"
                   method="validateMultiple"
             methodParams="java.lang.Object,
                           org.apache.commons.validator.ValidatorAction,
                           org.apache.commons.validator.Field,
                           org.apache.struts.action.ActionMessages,
                           org.apache.commons.validator.Validator,
                           javax.servlet.http.HttpServletRequest"
                      msg="errors.multiple"/>
     
       </global>
    </form-validation>
    Voici la partie validation de mon struts-config.xml, ou j'ai rajouté le chemin vers mon fichier de validation custom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
       <set-property property="pathnames"
               value="/WEB-INF/validator-rules.xml,/WEB-INF/validator-custom-rules.xml"/>
       <set-property property="stopOnFirstError" value="true" />
    </plug-in>
    Et voici le code de ma validation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public class StrutsValidator implements Serializable {
        public static boolean validateMultiple(Object bean,
                                               ValidatorAction va,
                                               Field field,
                                               ActionMessages errors,
                                               Validator validator,
                                               HttpServletRequest request) {
            String value = null;
            //JE VALIDE mes truc
            //....
            return true;
        }
    }
    Et dans mon validation.xml :
    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
    19
    20
    21
    22
    23
    24
     
    <field property="matrixX" depends="required,integer,intRange,multiple" >
       <arg0 key="panelConfiguration.matrixX" />
       <arg1 name="intRange" key="${var:min}" resource="false"/>
       <arg2 name="intRange" key="${var:max}" resource="false"/>
       <arg1 name="multiple" key="panelConfiguration.${var:multiplicateur}" resource="true"/>
       <arg2 name="multiple" key="panelConfiguration.${var:result}" resource="true"/>
       <var>
          <var-name>min</var-name>
          <var-value>1</var-value>
       </var>
       <var>
          <var-name>max</var-name>
          <var-value>100</var-value>
       </var>
       <var>
          <var-name>multiplicateur</var-name>
          <var-value>matrixY</var-value>
       </var>
       <var>
          <var-name>result</var-name>
          <var-value>panelNb</var-value>
       </var>
    </field>

Discussions similaires

  1. [JSF] Création de validateurs custom
    Par mymyma dans le forum JSF
    Réponses: 3
    Dernier message: 28/06/2006, 15h32
  2. [JSF] mon premier custom component
    Par anitshka dans le forum JSF
    Réponses: 5
    Dernier message: 14/06/2005, 13h31
  3. Validateur locale
    Par byekler dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 04/05/2005, 07h04
  4. [C#] Custom Control : Recuperer valeur formulaire
    Par victorbru dans le forum ASP.NET
    Réponses: 22
    Dernier message: 21/04/2005, 09h02
  5. [C#] Custom Control et message de confirmation
    Par lancelot69 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 23/12/2004, 15h04

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