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 :

ActionError et validate


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Par défaut ActionError et validate
    J'ai un petit pb avec les ActionError
    j'ai regardé un peu comment ca marchait surtout ici car ily a déjà plusieurs topics qui en parle... mais je m'en sors pas mes deux semaines de connaissance sur Struts me sont pas d'une grde utilité ...
    en fait j'ai une jsp lancé avec différents champs...si le champs appelé libelleMenu est vide il y a une erreur...
    je fais appel a validate ds mon Action mais le truc c'est que je suis obligé moi même de codé en dur où il doit aller si il y a une erreur et en plus il me marque pas mon message d'erreur ...
    si vous pouviez m'éclairer...
    jvous mets un peu de code :
    mon Form :
    public class CreationMenuForm extends ActionForm {

    private String libelleMenu;
    private String typeMenu;
    private String idSousMenuPere;
    les accesseurs/getteurs ....
    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
    ActionErrors errors = new ActionErrors();
    if (this.getLibelleMenu().equals("") || this.getLibelleMenu()==null){
    errors.add("libelleMenu",new ActionMessage("erreur.creeMenu.libelleMenu.requis"));
    // TODO: add 'error.name.required' key to your resources
    }

    return errors;
    }
    mon Action :
    public class CreationMenuAction extends DispatchAction{


    public ActionForward save(ActionMapping actionMapping,
    ActionForm actionForm, HttpServletRequest request,
    HttpServletResponse httpServletResponse)
    throws Exception {

    CreationMenuForm form = (CreationMenuForm)actionForm;
    if(form.getTypeAction().equals("rafraichissement"))
    {
    return actionMapping.findForward("afficherCreaMenu");
    }
    else
    {
    ActionErrors errors = form.validate(actionMapping, request);
    if (errors==null){return actionMapping.findForward("validerCreaMenu");}
    else {return actionMapping.findForward("afficherCreaMenu");}
    }
    }
    sachant que j'ai une fonciton load qui initie mes champs...

    et dans mon struts-config j'ai mis un <message-resource> vers un fichier applications.properties ...??!!

    merciii d'avance car là je nage pas mal !!!!

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 123
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActionErrors errors = form.validate(actionMapping, request);
    il ne faut surtout pas faire cela !

    Dans ton struts-config, tu dois avoir un action mapping auquel tu fais appel avec ton Formulaire (quand tu le submit), tu lui ajoute ceci :

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    validate=true input="l'action_mapping_du_formulaire"

    Il fera automatiquement appel a la méthode validate de ton formulaire, et te renverra sur la page indiquée dans "input"

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Par défaut
    ouais ouais le truc c'est que j'ai déjà essayé mais ca marche po ... enfin jvais réessayer ... mais j'ai suivi ce qui était expliqué ici

    http://www.developpez.net/forums/sho...53#post1880553

    pis le truc c que j'initialise mes champs à vide ac un appel à une action et jveux justement que après validation ces champs ne soient plus vide ... et si jmets validate="true" il va me mettre une erreur dès le chargement de la page ?!

    merchiii

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 123
    Par défaut
    Comme tu fais appel a la méthode validate que lorsque tu fais l'action mapping qui est appelé lors du submit de ton formulaire .. ca ne devrais pas poser de problème ... (il faut faire deux action mapping differents ... un que tu appelles quand tu envoies le formulaire et un que tu appelles quand tu veux afficher le formulaire)

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 94
    Par défaut
    euhhh ouais je vois bien ... mais dans ce cas là ca sert plus à rien que j'utilise DispatchAction ? et ca mutliplie par 2 le nombre d'action ds mon struts-config...puisque cette initialisation je vais la faire pr chaque page ?!

    c pas simple ...

    merci

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 123
    Par défaut
    Ah ok, autant pour moi, essaye ceci pour recupérer tes message du ApplicationRessources.properties :

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MessageResources messageResources = getMessageResources(request);
    String msg = messageResources.getMessage(request.getLocale(), "erreur.creeMenu.libelleMenu.requis");
    errors.add("libelleMenu",new ActionMessage(msg));

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

Discussions similaires

  1. Probleme formulaire + ActionErrors validate
    Par g.greg45 dans le forum Struts 1
    Réponses: 7
    Dernier message: 25/01/2007, 17h21
  2. ActionErrors vide pour mes validator-rules
    Par anayathefirst dans le forum Struts 1
    Réponses: 11
    Dernier message: 24/01/2007, 01h19
  3. [Struts] Validate Form et ActionError
    Par cosmos38240 dans le forum Struts 1
    Réponses: 4
    Dernier message: 25/10/2005, 16h00
  4. tester si une date est valide
    Par Andry dans le forum Langage
    Réponses: 5
    Dernier message: 17/09/2002, 11h54
  5. [VB6] Evenement validate
    Par grosjej dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 05/09/2002, 15h46

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