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 :

creer son propre Validator


Sujet :

Struts 1 Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 51
    Points : 29
    Points
    29
    Par défaut creer son propre Validator
    Salut tous le monde
    J’ai des questions sur le validator de struts. Apres avoir consulter sur le forum les discussions abordant le validator de struts j'ai compris une bonne partie de son fonctionnement mais il y’a des chose qui ne me sont pas claire:
    1) est ce que je peut définir un nouveau validator en définissent que la partie javaScript sans définir ni créer la classe java qui prend en charge la validation coté serveur puisque ma validation est seulement coté client.
    Si c'est possible qu'elle est la partie minimal qui devrait figurer dans mon nouveau validator .xml.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <validator name="?????????????????????"
    	msg="????????????????????"
            classname="??????? "
                method="???????? "
                methodParams="?????? ">
    2) dans une discussion qui date de 2006 le modérateur SEMPERE Benjamin a donné un exemple de création de validator, et dans le 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
    14
    15
    16
    <field property="dateDebNewCycle" depends="required,date,mask,validConsecutiveDate" page="11">
        <arg key="prompt.cours.dateDebNewCycle"/>
        <var>
            <var-name>datePattern</var-name>
            <var-value>${clioDatePattern}</var-value>
        </var>		
        <var>
            <var-name>mask</var-name>
            <var-value>${clioDatePatternForSave}</var-value>
        </var>	
        <var>
            <var-name>endDate</var-name>
            <var-value>dateFinNewCycle</var-value>
        </var>							
    </field>
    Est ce que dateFinNewCycle est une propriété du bean formulaire puisque je suppose que ce n'est pas une constante car ${} ne figure pas.
    Merci d'avance.

  2. #2
    Membre éclairé Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 672
    Points
    672
    Par défaut
    Bonsoir,

    Citation Envoyé par khaledirb7
    1) est ce que je peut définir un nouveau validator en définissent que la partie javaScript sans définir ni créer la classe java qui prend en charge la validation coté serveur puisque ma validation est seulement coté client.
    A mon avis, il n'est pas possible de s'occuper que d'une eventuelle partie javascript. Si tu créés un validator, tu créés une nouvelle classe java qui décrit le fonctionnement de ton validator, jamais tu n'auras du javascript à écrire et c'est ce qui fait la force du pluggin. Il permet à partir des règles décrite dans le fichier java du validator de générer le controle du coté client avec JS et du coté serveur en cas de desactivation de JS. Si tu es sur que ta validation marchera tout le temps coté client et que tu n'as aucun validator fourni avec le pluggin qui puisse faire une validation que tu veux, rien ne t'empeche d'ecrire directement le JS dans ta JSP. Sinon, tu trouveras sur ce lien un autre exemple qui montre comment créer un validator. http://www.developpez.net/forums/sho...ight=validwhen


    Citation Envoyé par khaledirb7
    2) Est ce que dateFinNewCycle est une propriété du bean formulaire puisque je suppose que ce n'est pas une constante car ${} ne figure pas.
    Effectivement, il y a de très forte chance pour que dans le formulaire de la JSP, il y ait un tag de struts qui est un property de ce nom

  3. #3
    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 778
    Points
    7 778
    Par défaut
    Je pense que tu es obligé effectivement de créer une classe Java en plus du Javascript, à moins que dans la balise validator tu puisses préciser seulement l'attribut name et l'attribut msg.
    Il faudrait faire le test.

    Mais par contre, si tu décides d'activer la validation seulement côté client, je pense que rien ne t'empêche de ne pas implémenter de contrôles dans la classe Java, étant donné qu'elle ne sera jamais appelée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import javax.servlet.http.HttpServletRequest;
     
    import org.apache.commons.validator.Field;
    import org.apache.commons.validator.ValidatorAction;
    import org.apache.struts.action.ActionMessages;
     
    public class ValidSomething
    {
    	public static boolean validateSomething(Object bean,ValidatorAction validatorAction,Field field,ActionMessages errors,HttpServletRequest request)
    	{
    		boolean isValid = true;
    		return isValid;
    	}
    }
    A tester bien sûr.

    Mais, comme l'a précisé zorm, il faut être conscient qu'en activant la validation seulement côté client, si le Javascript est désactivé, aucune validation ne sera effectuée.

    Je confirme également que dateFinNewCycle est obligatoirement une propriété du formulaire puisque l'exemple donné par Benjamin permet de vérifier que deux dates sont consécutives.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 51
    Points : 29
    Points
    29
    Par défaut
    merci pour vos repenses

    je vais effectuer le teste que vous m'avez suggérer et j'espère que ça marchera.
    J’ai encore une petite question :
    dans le fichier struts-config.xml dans mon action je n’est pas préciser l’attribut validate , et en utilisant les validator fournit avec struts j’ai un contrôle coté client donc j’aimerai savoir :
    si on omettant l’attribut validate qu’elle est sa valeur par defaut (true ?).
    et quelle est la valeur à donner à cette attribut (est ce qu’il y’a autre chose à ajouter quelque part ? ) pour que struts essai la validation tout d’abord coté client et ensuite coté serveur si la validation coté client échoue. Ce mécanisme est il pris en charge par struts ?.
    Merci encore.

  5. #5
    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 778
    Points
    7 778
    Par défaut
    La valeur par défaut de l'attribut validate est true.
    S'il est égal à true, la validation se fera à la fois côté client et côté serveur.
    S'il est égal à false, la validation se fera simplement côté client, à partir du moment où le tag html:javascript et l'attribut onsubmit du tag html:form ont été codés dans la jsp.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 51
    Points : 29
    Points
    29
    Par défaut
    merci c_nvy pour c'est precision
    pour ce qui est des testes concernant le validator,(apres avoir consulté le lien que m'a donné zorm ) je pense que je fairai mes controles qui sont un peut complexe dans la methode validate du bean qui herite de validationForm (donc je vais combiné le controle validator et l'utlisation de la methode validate comme indiqué dans la FAQ ).
    au cas ou il y'aura du nouveau je fairai signe.
    merci.

  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 778
    Points
    7 778
    Par défaut
    C'est un bon choix. Cela me semble plus simple à mettre en oeuvre.

Discussions similaires

  1. #warning creer son propre warning
    Par Biosox dans le forum Visual C++
    Réponses: 2
    Dernier message: 19/03/2008, 08h17
  2. creer son propre validator de date
    Par badoress dans le forum Struts 1
    Réponses: 1
    Dernier message: 10/10/2007, 15h03
  3. creer son propre Chat
    Par lazar dans le forum Langage
    Réponses: 3
    Dernier message: 14/04/2006, 10h37
  4. [Librairies]Creer son propre package
    Par Janitrix dans le forum Général Java
    Réponses: 5
    Dernier message: 17/12/2005, 22h18

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