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] règle personnalisée


Sujet :

Struts 1 Java

  1. #1
    Membre habitué Avatar de phoebe
    Inscrit en
    août 2003
    Messages
    289
    Détails du profil
    Informations forums :
    Inscription : août 2003
    Messages : 289
    Points : 143
    Points
    143
    Par défaut [Validator] règle personnalisée
    Bonjour,
    j'ai suivi un exemple du livre "Développement Java sous STRUTS" de l'ENI pour me faire une règle de validation privée.
    Je précise que mes autres règles de validation fonctionnent, donc j'ai bien compris la configuration du plugin Validator.

    voici la définition de ma règle :
    validator-rules.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    	<validator name="yesno"
                classname="fr.edition.eni.validator.ValideEni"
                   method="valideLoisirs"
             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.yesno"/>
    ValideEni.java
    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
     
    public class ValideEni implements Serializable{
     
    	private static final long serialVersionUID = 1L;
     
    	public static boolean valideLoisirs(Object bean,
                ValidatorAction va, Field field,
                ActionMessages errors,
                Validator validator,
                HttpServletRequest request){
     
    			String validChamp = ValidatorUtils.getValueAsString(bean,field.getProperty());
    			System.out.println(validChamp);
    			if(!validChamp.equalsIgnoreCase("Y") && !validChamp.equalsIgnoreCase("N")){
    				errors.add(field.getKey(),Resources.getActionMessage(request,va,field));
    				return false;
    			}
     
    		return true;
    	}
    }
    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
     
    		<form name="livreForm">
    			<field
    				property="titre"
    				depends="required">
    					<arg key="auteur.titre"/>
    			</field>
    			<field
    				property="auteur"
    				depends="required">
    					<arg key="auteur.nom"/>
    			</field>
    			<field
    				property="pret"
    				depends="required,yesno">
    				<arg key="auteur.pret"/>
    			</field>
    			<field	property="loisirs" depends="multirequired">
    		</field>
     
    		</form>
    le validator "required" fonctionne bien mais si je saisi autre chose que "y" ou "n" ça marche quand même, alors que le validator "yesno" devrait me bloquer...

    où est mon erreur ? je ne vois vraiment pas...

  2. #2
    Expert éminent

    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
    Points : 7 639
    Points
    7 639
    Par défaut
    Et comme ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (!validChamp.equalsIgnoreCase("Y") && !validChamp.equalsIgnoreCase("N"))
    {
    	va.setMsg("errors.yesno");
    	errors.add(field.getKey(),Resources.getActionMessage(request,va,field));
    	return false;
    }
    Modératrice Java - Struts, Servlets/JSP, ...

  3. #3
    Membre habitué Avatar de phoebe
    Inscrit en
    août 2003
    Messages
    289
    Détails du profil
    Informations forums :
    Inscription : août 2003
    Messages : 289
    Points : 143
    Points
    143
    Par défaut
    Merci mais en fait je ne rentre même pas dans la méthode valideLoisirs(...)

    d'ailleurs je ne vois pas vraiment comment ce tuto peut fonctionner car les validators de struts sont basés sur des fichiers javascript de la librairie commons-validator.jar donc comment mon nouveau validator pourrait-il fonctionner sans créer également un nouveau fichier javascript dans cette librairie ?

  4. #4
    Expert éminent

    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
    Points : 7 639
    Points
    7 639
    Par défaut
    Si tu as activé la validation seulement côté client, il est certain que tu n'exécuteras jamais la méthode valideLoisirs.
    As-tu un validate égal à true dans le mapping de l'Action dans le struts-config.xml ?
    Modératrice Java - Struts, Servlets/JSP, ...

  5. #5
    Membre habitué Avatar de phoebe
    Inscrit en
    août 2003
    Messages
    289
    Détails du profil
    Informations forums :
    Inscription : août 2003
    Messages : 289
    Points : 143
    Points
    143
    Par défaut
    oui, j'ai les deux, mais c'est la validation côté client qui m'intéresse, là je ne faisais que tester un exemple simple, enfin c'est ce que je pensais... mon but est de valider (côté client) une liste de Dates.

    pour éviter ce genre de chose:
    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
    <field property="dt_naiss[0]" depends="required,date">
    	<arg name="required" bundle="i18n" key="error.dt_naiss" />
    	<arg name="date" bundle="i18n" key="error.dt_naiss" />
    	<var>
    		<var-name>datePattern</var-name>
    		<var-value>ddMMyyyy</var-value>
    	</var>
    </field>
    <field property="dt_naiss[1]" depends="required,date">
    	<arg name="required" bundle="i18n" key="error.dt_naiss" />
    	<arg name="date" bundle="i18n" key="error.dt_naiss" />
    	<var>
    		<var-name>datePattern</var-name>
    		<var-value>ddMMyyyy</var-value>
    	</var>
    </field>
    j'avais pensé créer un validator javascript pour valider mes listes de Date, double, etc... étant donné que de base Struts n'a pas l'air de gérer ce genre de chose.

  6. #6
    Membre à l'essai
    Inscrit en
    septembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : septembre 2007
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Tu peux definir des javascript pour tes validators personnalisés il suffit de les inclure lors de la definition de ton validator dans le 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
    13
    <validator name="yesno"
                classname="fr.edition.eni.validator.ValideEni"
                   method="valideLoisirs"
             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.yesno"
     
              jsFunctionName="ValideLoisirs"       
    jsFunction="fr.edition.eni.validator.js.valideLoisirs"/>
    Apres tu defini ton fichier valideLoisirs.js :
    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
    function validateLoisir(form) {
           var bValid = true;
           var i = 0;
           var fields = new Array();
           var oValide = eval ("new "+ jcv_retrieveFormName(form) + "_ValideLoisirs()"); // va recuperer le tableau de parametres que struts à générer automatiquement
    
    
           for (x in oValide) {
                    var field = form[oValide[x][0]]; // recupere ton objet champ
     
                    var fieldValue=field.value;
              
                               	
                   if((fieldValue!='y')&&(fieldValue!='n')){
     
                           fields[0]=oNotZero[x][1]; // recupere le message d'erreur 
                           jcv_handleErrors(fields, field); // parametres ( message erreur , focus sur ce champ)
                           bValid = false;
                 }
             }
    			
         return bValid;
    }
    Je n'ai pas pu testé le bout de code mais ca une façon de procéder.

  7. #7
    Expert éminent

    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
    Points : 7 639
    Points
    7 639
    Par défaut
    Pour valider une propriété indexée, tu peux utiliser l'attribut indexedListProperty de la balise field mais la validation ne pourra se faire que côté serveur.

    Si tu veux absolument une validation côté client, il va falloir écrire le javascript et l'ajouter dans ta régle de validation dans le validator-rules.xml.

    EDIT : grillée par extensedev.
    Modératrice Java - Struts, Servlets/JSP, ...

  8. #8
    Membre habitué Avatar de phoebe
    Inscrit en
    août 2003
    Messages
    289
    Détails du profil
    Informations forums :
    Inscription : août 2003
    Messages : 289
    Points : 143
    Points
    143
    Par défaut
    oui merci extensedev_ je vais essayer ça cet après-midi. ça risque d'être assez lourd.
    merci également c_nvy mais c'est vraiment côté client que je veux mon contrôle car j'ai des attributs Date et double dans mon Form et si je ne vérifie pas côté client alors côté serveur je n'aurais pas la valeur saisie si elle est non valide, j'aurais une Date NULL.

    par contre ça n'explique pas pourquoi mon validator, plus haut dans la page, ne fonctionne pas... j'ai le validate = true dans la définition de mon action. Peut être ne faut-il pas définir la méthode validate() dans MonAction.java ?

  9. #9
    Membre à l'essai
    Inscrit en
    septembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : septembre 2007
    Messages : 12
    Points : 13
    Points
    13
    Par défaut


    ( merci pour les balises [CODE], c'était mon 1er post )

  10. #10
    Membre à l'essai
    Inscrit en
    septembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : septembre 2007
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    par contre ça n'explique pas pourquoi mon validator, plus haut dans la page, ne fonctionne pas... j'ai le validate = true dans la définition de mon action. Peut être ne faut-il pas définir la méthode validate() dans MonAction.java ?
    C'est grandemnt probable oui, et aussi verifie si tu as fait heriter ton form de la classe ValidatorForm.

  11. #11
    Membre habitué Avatar de phoebe
    Inscrit en
    août 2003
    Messages
    289
    Détails du profil
    Informations forums :
    Inscription : août 2003
    Messages : 289
    Points : 143
    Points
    143
    Par défaut
    oui j'hérite bien de ValidatorForm.

  12. #12
    Membre habitué Avatar de phoebe
    Inscrit en
    août 2003
    Messages
    289
    Détails du profil
    Informations forums :
    Inscription : août 2003
    Messages : 289
    Points : 143
    Points
    143
    Par défaut
    merci extensedev_ pour ton code commenté mais le validator que je cherche à créer doit récupérer plusieurs champs et non un seul...
    à savoir dt_naiss[0],dt_naiss[1],dt_naiss[2],dt_naiss[3], ...

    je vois pas bien comment créer simplement mon validator de liste en javascript, vous connaitriez un tutoriel ?

  13. #13
    Membre habitué Avatar de phoebe
    Inscrit en
    août 2003
    Messages
    289
    Détails du profil
    Informations forums :
    Inscription : août 2003
    Messages : 289
    Points : 143
    Points
    143
    Par défaut
    Dans le fichier JavascriptValidatorTag.java , j'ai trouvé le bout de code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
                for (Iterator x = form.getFields().iterator(); x.hasNext();) {
                    Field field = (Field) x.next();
     
                    // Skip indexed fields for now until there is a good way to
                    // handle error messages (and the length of the list (could
                    // retrieve from scope?))
                    if (field.isIndexed() || (field.getPage() != page)
                        || !field.isDependency(va.getName())) {
                        continue;
                    }
     
                    ...
    dans la méthode createDynamicJavascript(ModuleConfig config,
    ValidatorResources resources, Locale locale, Form form);

    Je me demande donc si ce que je veux faire est vraiment possible, car le code javascript suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    eval ("new "+ jcv_retrieveFormName(form) + "_ValideLoisirs()");
    ne me ramènera jamais la liste de mes champs.

    extensedev_, si tu as une idée je suis tout ouïe

  14. #14
    Membre à l'essai
    Inscrit en
    septembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : septembre 2007
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Je t'expliquerai comment faire dem1 matin .

  15. #15
    Membre habitué Avatar de phoebe
    Inscrit en
    août 2003
    Messages
    289
    Détails du profil
    Informations forums :
    Inscription : août 2003
    Messages : 289
    Points : 143
    Points
    143
    Par défaut
    ce sera avec plaisir, merci, parce que j'ai essayé un truc mais c'est pas top

  16. #16
    Membre à l'essai
    Inscrit en
    septembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : septembre 2007
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    J'ai pa pu retrouver le code que j'avais utiliser quand j'avais fait ca mais je me souviens a peu près de la methode utilisé.

    Ma solution ne sera pas top non plus :p vu qu'avec les validators on ne peut de base valider une liste de champs créés dynamiquement.

    Par contre je viens de penser à une solution qui devrait marcher et qui utiliserai au mieux les avantages des validators.

    - definir pour chaque champs input

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:text property="dt_naiss(x)" styleId="dt_naiss0"/>
    ou x est iteratif 0,1....


    Si tu n'as pas un autre champs dans ton formulaire : creer un
    <html:hidden property="champsPourValidator"/>

    Tu peux par exemple mettre le nombre de champs de ta liste dt_naiss dedans.

    Dans le validation.xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <field  property="champsPourValidator" depends="verifDate">
    <var>
           <var-name> datepatternStrict</var-name>
           <var-value>dd/MM/yyyy</var-value>
    </var>
    <var>
           <var-name> nomChampsDate</var-name>
           <var-value>dt_naiss</var-value>
    </var>


    validator-rules.xml :

    Bien mettre le validator date pour que la balise <html:javascript> mette le code de la js validateDate.js contenu dans le jar

    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
    25
    26
    27
    <validator name="verifDate"
                classname="fr.edition.eni.validator.verifDate"
                   method="verifDate"
             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.verif.date"
     
              jsFunctionName="VerifDate"       
    jsFunction="fr.edition.eni.validator.js.verifDate"/>
    
    
    <validator name="date"
                       classname="org.apache.struts.validator.FieldChecks"
                       method="validateDate"
                       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.date"
                       jsFunctionName="DateValidations"/>

    Dans ta jsp

    Il faudrait que tu genere toi meme la fonction que génére Struts automatiquement qui contient les infos necessaire pour chaque validtors avec ube balise logic:iterate ou mieux si tu utilise les EL avec c:foreach

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <script>
    function nomFormulaire_DateValidations () {
    
    <c:forEach var="entry" begin="0" end="${nombredeChampsDate}" varStatus="status">
    this.a${status.count} = new Array("dt_naiss${status.count}", <bean:message key="errors.verif.date"/>, new Function ("varName", "this.datePatternStrict='dd/MM/yyyy'; return this[varName];"));
    
    </c:forEach>
    
    
    }
    </script>

    Pour que ca genere

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function nomFormulaire_DateValidations () {
    this.a0 = new Array("dt_naiss0", "La date de la demande n'a pas été entrée correctement (jj/mm/aaaa)", new Function ("varName", "this.datePatternStrict='dd/MM/yyyy'; return this[varName];"));
    this.a1 = new Array("dt_naiss1", "La date de la demande n'a pas été entrée correctement (jj/mm/aaaa)", new Function ("varName", "this.datePatternStrict='dd/MM/yyyy'; return this[varName];"));
    .
    .
    .
    .
    }
    Dans ta js : fr.edition.eni.validator.js.verifDate.js tu fais appel à la fonction javascript de validation de date struts.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    function verifDate(form) {
           var bValid = true;
           var i = 0;
           var fields = new Array();
           var oValide = eval ("new "+ jcv_retrieveFormName(form) + "_VerifDate()"); // va recuperer le tableau de parametres que struts à générer automatiquement
     
     
           validateDate(form); // appel la fct de validator
     
         return bValid;
    }

    par contre je pense que tu va avoir une fenetre javascript a chaque date erroné donc il faudrait que tu modifie :

    - soit la js validateDate.js de struts de tel facon de lui faire renvoyer un boolean et le tester dans verifDate.js
    - soit creer un autre validateUtils.js ( à declarer dans validation.xml ) et tu modifie la fonction jcv_handleErrors pour qu'elle ne cree pa d'alert mai plutot un affichage du message dans une div par un innerHTML ( Ce ki est qd meme bcp plus classe que cette povre alert javascript )


    C'est tres brouillon desole mais j pas le temps aujourd hui de faire mieux :p (trop de boulot )

  17. #17
    Membre habitué Avatar de phoebe
    Inscrit en
    août 2003
    Messages
    289
    Détails du profil
    Informations forums :
    Inscription : août 2003
    Messages : 289
    Points : 143
    Points
    143
    Par défaut
    merci vraiment beaucoup de t'être penché sur mon problème. J'ai déjà modifier le style d'affichage des messages, un alert() en 2007, on arrête pas la régression... et pas évident en plus de redéfinir ce truc, je me suis bien pris la tête. Bref ça c'est fait.

    Sinon pour ce qui est du validator de liste, je vais en rester à ma solution pour l'instant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <field property="dt_naiss[0]" depends="date">
    	<arg name="date" bundle="i18n" key="personne.dt_naiss" />
    	<var>
    		<var-name>datePattern</var-name>
    		<var-value>ddMMYYYY</var-value>
    	</var>
    </field>
    puis j'ai modifié le fichier validateDate.js :
    en gros, je vérifie si le nom du champ contient la chaine "[0]" et si c'est le cas j'ajoute le champ dt_naiss[1] (s'il existe), etc...

    le seul hic c'est que j'ai modifié le fichier js existant au lieu d'en recréer un autre, il va falloir que je m'y penche de plus près encore pour réussir à créer un validator autonome.

    extensedev_, vois tu une imperfection que je n'aurais pas détecté dans ma méthode ?

    PS : par contre le validwhen ne fonctionne pas avec ma méthode, mais peut être est-ce normal, le validwhen est-il sensé fonctionné côté client ? ou bien seulement côté serveur ? la doc d'apache n'est pas très claire à ce sujet

  18. #18
    Membre habitué Avatar de phoebe
    Inscrit en
    août 2003
    Messages
    289
    Détails du profil
    Informations forums :
    Inscription : août 2003
    Messages : 289
    Points : 143
    Points
    143
    Par défaut
    Bon, j'ai essayé de faire quelque chose de plus propre mais ça ne marche pas...
    J'ai créé un fichier javascript controleListeDate.js avec la fonction controleListeDate(form) à l'intérieur.

    voici la déclaration de mon validator :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <validator 
        name="listeDate"
        classname="org.apache.struts.validator.FieldChecks"
        method="validateDate"
        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.date"
        jsFunction="js.validators.controleListeDate"
        jsFunctionName="controleListeDate"/>
    ma validation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <field property="dt_naiss[0]" depends="listeDate">
        <arg name="listeDate" bundle="i18n" key="personne.dt_naiss" />
        <var>
            <var-name>datePattern</var-name>
            <var-value>ddMMyyyy</var-value>
        </var>
    </field>
    et enfin voici la hiérarchie de mes fichiers :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    +java/
    -webcontent/
        +css/
        +img/
        -js/
            +validators/
                controleListeDate.js
        +WEB-INF/
            validator-rules.xml
            validation.xml

    quelqu'un voit-il pourquoi ça ne marche pas ?

  19. #19
    Membre à l'essai
    Inscrit en
    septembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : septembre 2007
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Je ne sais pas l'erreur que tu as mais j'imagine que ca doit être une erreur Javascript sur la fonction controleListeDate().

    Il ya une anomalie dans la déclaration de ton validation.xml

    Probleme

    method="validateDate" ----> defini le nom de la methode Java et aussi celui de la fonction Javascript appelé

    Struts va généré dans la page html un code dans le style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function validateFormulaire(form) { 
            if (bCancel) { 
                return true; 
            } else { 
                var formValidationResult; 
                formValidationResult = validateDate(form); 
                return (formValidationResult); 
            } 
        }
    et donc va chercher validateDate(form) et nom pas controleListeDate(form)

    Solution mettre method="controleListeDate" et donc renommer ta methode dans ta classe Java


    Remarque

    jsFunctionName="ControleListeDate" ---> correspond au noml de la fonction généré par struts

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function nomFormulaire_ControleListeDate() {
    this.a0 = new Array("dt_naiss0", "La date de la demande n'a pas été entrée correctement (jj/mm/aaaa)", new Function ("varName", "this.datePatternStrict='dd/MM/yyyy'; return this[varName];"));*
    }

    dans ta fct js controleListeDate(form) tu devrais avoir quelque chose dans le style :

    var oValideDate = eval ("new "+ jcv_retrieveFormName(form) + "_ControleListeDate()");

  20. #20
    Membre à l'essai
    Inscrit en
    septembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : septembre 2007
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Autre probleme que je n'avais pas vu :p

    Struts va chercher les fonctions JS dans les sources java et non dans le webcontent.

Discussions similaires

  1. [Jena] Règle personnalisée
    Par SarraGaloui dans le forum Frameworks
    Réponses: 1
    Dernier message: 03/03/2014, 11h38
  2. [Plugin] Validation : règle d'exécution des règles
    Par nad dans le forum jQuery
    Réponses: 1
    Dernier message: 11/10/2012, 17h30
  3. Réponses: 3
    Dernier message: 01/05/2010, 01h03
  4. Réponses: 16
    Dernier message: 01/06/2006, 21h37
  5. violation de la règle de validation lors d'une mise à jour
    Par courtial dans le forum Langage SQL
    Réponses: 1
    Dernier message: 28/03/2006, 15h17

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