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 :

probleme validator et DispatchAction


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 probleme validator et DispatchAction
    salut tous le monde
    j'utilise le validator de struts pour valider un formulaire, le probleme est que j'utilise un DispatchAction pour:
    1) intialiser le formulaire (non de la methode est : inialiser)
    2) traiter le formulaire (non de la methode est : traiter)
    3) pour me redireger vers une autre action (non de la methode est : recherche)
    cette troisieme methode me redirige vers une autre action qui est respensable d'afficher et traiter le resultat de la recherche.
    le probleme est que si j'appelle la fonction recherche le formulaire est validé(hors dans ce cas je n'est pas besoin de validation ) j'ai chercher sur le forum j'ai trouver cette solution mais le probleme reside dans la methode reload proposer par azerr dans cette discution http://www.developpez.net/forums/sho...ion+formulaire

  2. #2
    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
    salut à tous
    apres une journné de teste, j'ai réussi à faire une validation selective selon un parametre reqCode mais le probleme, est que la validation n'est possible que coté serveur la validation coté client n'est pas possible; donc toute la puissance de validator coté client est perdu.
    mon fichier validation.xml est
    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
    <form-validation>
    <formset> 
     <form name="khuserForm?reqCode=trait">
     <field property="khlog" depends="required">
     <arg0 key="login"/>
     </field>
     </form>
       <form name="khuserForm?reqCode=search">
     
     </form>
      <form name="khuserForm?reqCode=initi">
     
     </form>
      <form name="khuserForm">
     
     </form>
    </formset>
    </form-validation>
    la partie en orange je l'ai ajouter puisque j'avait une exception que le bean khuserForm n'a pas éte trouvé dans le local fr

    dans mon bean ValidatorForm j'ai redéfini la methode getValidationKey comme suit:
    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
     
    public String getValidationKey(ActionMapping mapping, HttpServletRequest request) {
     
    			String dispatch = request.getParameter("reqCode");
     
    	 		if ((dispatch.equals(new String("")))||(dispatch==null)) {
     
    	 			return mapping.getAttribute();
    	 				 		}
    	 		// 
     
    	        return mapping.getAttribute() + "?reqCode=" + dispatch;
     
     
     
    		}
    et on affichant le source de ma jsp dans le navigateur la fonction javaScript générer par le valodator est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     function validateKhuserForm(form) {                                                                   
            if (bCancel) 
          return true; 
            else 
           return true; 
       }
    je pense que cela est evident puisque dans validation.xml
    j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <form name="khuserForm">
      </form>
    je n'est spécifier aucun controle, mais si je supprime cette partie j'ai l'exception dont j'ai parlé; et si j'ajoute un cotrole sur un champs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form name="khuserForm">
    <field property="khlog" depends="required">
     <arg0 key="login"/>
     </field>
      </form>
    la validation javaScript ce fait sur toute mes methodes du DispatchAction .
    je pense que c'est une limite imposé par l'association du DispatchAction et du validator.

    si quelqu'un peut m'aider ou me donner des eclairssaissement je serai heureux.

    merci d'avance.

  3. #3
    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
    salut tout le monde
    je n'est toujour pas reussi a faire cohabiter DispatchAction et Validator de struts la solution que j'ai empreinter est d'utilser deux actions une pour l'initialisation et l'autre pour le traitement du formulaire, bien que que je pense qu'elle est de loin pas la meilleurs. si quelqu'un possede une meilleurs aidé ou des eclairsaissement sera le bien venu.
    merci d'avance.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Citation Envoyé par khaledirb7
    la solution que j'ai empreinter est d'utilser deux actions une pour l'initialisation et l'autre pour le traitement du formulaire, bien que que je pense qu'elle est de loin pas la meilleurs.
    Ah bon ? Vu que ce sont deux actions ayant des buts bien distincts, pour moi c'est la meilleure, mais après, chacun sa façon de faire...

  5. #5
    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
    salut mixouille
    est ce que tu peut me donner des eclairsaissent s'il te plait, sur la possibilé de faire cohabiter le Validator de struts et DispatchAction.
    est ce que vous avez deja utilsé ces deux composant ensemble, et que la validation JavaScript fonctionnait.
    un petit exemple m'aidera enormement.
    merci d'avance

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    désolé khaledirb7, mais je n'ai jamais utilisé de Validator

  7. #7
    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 mixouille pour ta reponse
    j'ai cru que lorsque vous parliez de validation que vous avez utiliser le Validator
    merci encore

  8. #8
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Points : 109
    Points
    109
    Par défaut
    salut, alors pour la théorie, il existe trois types de validation:
    - la methode 'validate' de la classe actionform (cote serveur)
    - le 'validator' mis en place a partir du fichier validation.xml (coté serveur)
    - et la validation par JavaScript (côté client)

    Les 3 sont des méthodes de validation distinctes qui dans certains cas peuvent être utilisées en même temps pour valider un formulaire.

    Dejà premiere question, est ce que tu veux valider tout ton formulaire avec la validation javaScript ou souhaites tu combiner plusieurs méthodes ?
    JAVA le dire a tout le monde

  9. #9
    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 yozine
    il existe trois types de validation:
    - la methode 'validate' de la classe actionform (cote serveur)
    - le 'validator' mis en place a partir du fichier validation.xml (coté serveur)
    - et la validation par JavaScript (côté client)
    je veut seulement ajouter à ceci que le validator mis en place a partir du fichier validation.xml , offre deux possibilé de validation :validation javaScript (coté client:le validator genere des fonction javaScript qui affiche la boite de dialogue alert avec le message d'erreur dedans ) et validation coté seveur.
    -je souhaites combiner la validation coté client et coté serveur (pour des validation complexe ).
    au départ mon idée était de faire la validation coté client par du javaScript et coté seveur pour des validations plus complexe, sans faire recours au Validator.
    le problème qui m'a poussé à utiliser le Validator était le fait que lorsque je clique sur le bouton submit et il ya des erreurs, ces erreurs sont détectées et affichées par "alert" mais on cliquant sur "ok" de "alert" le formulaire est submité alors que je souhaite rester sur la meme page, si ce problème peut être résolu par du javaScript je m'en passerai du Validator(j’utilise le validator parce que en cherchant dans le forum j'ai trouvé qu'on a proposé le validator pour eviter tout probleme )
    merci encore

  10. #10
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Points : 109
    Points
    109
    Par défaut
    alors je ne sais pas si tu peux utiliser la validation par validator cote serveur et la validation 'javascript' en meme temps.

    Pour utiliser la validation cote client par javascript, il faut :

    rajouter dans le header de la page jsp a valider:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <head>...
    <html:javascript formName="khuserForm" />...
    </head>
    puis en début du formulaire il faut remplacer la balise html:form par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:form action="/le_nom_de_l_action.do" onsubmit="return validateKhuserForm(this)" >
    Avec ces modifications, tu vas pouvoir utiliser la validation définie dans le fichier validation.xml, mais cote client en javascript. Les erreurs vont s'afficher dans une fenetre 'alert'. Tu peux changer le type d'affichage en modifiant les librairies commons-validator->org.apache.commons.validator.javascript->validaterequired.js .
    Il faut que tu modifies le fichier javascript utilisé, mais la je ne peux pas t'aider plus..
    JAVA le dire a tout le monde

  11. #11
    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 yozine pour votre reponse
    mais tout ce que vous m'avez suggeré je l'ai déja fait donc ça ne resout pas mon probleme
    merci comme meme.

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

Discussions similaires

  1. Probleme validation propriété en mso-*
    Par guandal dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 25/10/2006, 17h22
  2. probleme validation requete supprimer
    Par lorenzo74 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 30/06/2006, 14h09
  3. Probleme validation saisis au clavier...
    Par angelevil dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 15/03/2006, 13h51
  4. [W3C] probleme validation w3c
    Par GTJuanpablo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 27/02/2006, 14h05
  5. [W3C] probleme validation XHTML
    Par tus01 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 06/11/2004, 18h05

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