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] Problème à la création d'une règle 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
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Par défaut [Struts 1.3.8] Problème à la création d'une règle de validation
    Bonjour,

    Je me suis créé une règle de validation, Struts ne semble pas vouloir la tester. Dans mon exemple, seul la regle required classique est testée, pas la mienne. Quand je passe en mode débug, je vois qu'il ne passe pas dans ma regle de validation, savez vous pourquoi? Où est mon erreur?

    Merci pour votre aide!

    J'ai déclaré ma règle dans validators-rules.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            <validator name="notFound"
                       classname="com.lecorre.validator.TestExist"
                       method="validateExist"
                       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.userNotExist"/>
    Dans validation.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <form name="login">
                <field
                    property="login"
                    depends="required,notFound">
                        <arg key="loginForm.username"/>
                </field>
    Et ma règle est la suivante :
    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
    public class TestExist implements Serializable {
    	public static boolean validateExist(Object bean, ValidatorAction va, 
    			Field field, ActionMessages errors, Validator validator, 
    			HttpServletRequest request){
     
    		LoginDAO lDAO = new LoginDAO();
     
    		if (lDAO.loadLogin(ValidatorUtils.getValueAsString(bean,field.getProperty()))==null)
    		{
    			ActionMessage actionMessage2 = Resources.getActionMessage(request, va, field);
    			ActionMessage actionMessage = actionMessage2;
    			errors.add(field.getKey(), actionMessage);
    			return false;
    		}
    		return true;
    	}
    }

  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
    Peux-tu faire un test en enlevant org.apache.commons.validator.Validator des paramètres :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            <validator name="notFound"
                       classname="com.lecorre.validator.TestExist"
                       method="validateExist"
                       methodParams="java.lang.Object,
                           org.apache.commons.validator.ValidatorAction,
                           org.apache.commons.validator.Field,
                           org.apache.struts.action.ActionMessages,
                           javax.servlet.http.HttpServletRequest"
                       msg="errors.userNotExist"/>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	public static boolean validateExist(Object bean, ValidatorAction va, 
    			Field field, ActionMessages errors,  
    			HttpServletRequest request)

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Par défaut
    Meme chose.
    Seule le Required est testé. Ma règle notFound ne l'est pas.

  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
    As-tu défini la règle dans un fichier personnalisé ?

    Si oui, as-tu pensé à l'ajouter dans le struts-config.xml :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    	<set-property property="pathnames"
    		 value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml,/WEB-INF/myValidator-rules.xml"/>	
    </plug-in>

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    As-tu défini la règle dans un fichier personnalisé ?

    Si oui, as-tu pensé à l'ajouter dans le struts-config.xml :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    	<set-property property="pathnames"
    		 value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml,/WEB-INF/myValidator-rules.xml"/>	
    </plug-in>
    J'ai utilisé le même fichier validator-rules.xml existant, et j'ai rajouté ma règle à l'intérieur. Donc à priori pas besoin de modifier le plug-in.

  6. #6
    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
    Je te conseillerai plutôt de définir ton propre fichier de règles parce que le jour où tu changeras de version de Struts, tu risques d'écraser ta règle.
    Mais bon, je ne pense pas que ton problème vienne de là.

    As-tu bien activé la validation côté serveur ?

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

Discussions similaires

  1. Problème pour création d'une vue
    Par gapse dans le forum Oracle
    Réponses: 5
    Dernier message: 30/08/2006, 15h35
  2. Réponses: 9
    Dernier message: 05/04/2006, 17h48
  3. FAQ : problème avec création d'une requete en VBA
    Par Oluha dans le forum VBA Access
    Réponses: 14
    Dernier message: 14/02/2006, 12h05
  4. Problème de création d'une dll...
    Par adrien954 dans le forum C++Builder
    Réponses: 4
    Dernier message: 21/10/2005, 10h46

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