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 :

Afficher les messages d'erreur de validator


Sujet :

Struts 1 Java

  1. #1
    Membre éprouvé

    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 183
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 183
    Par défaut Afficher les messages d'erreur de validator
    Bonjour,

    J'aimerais tester les validators de Struts.
    Cela fonctionne. Lorsque je ne saisis pas de nom, je reviens sur ma page page JSP.
    Sauf que malheureusement je n'arrive pas à afficher le message d'erreur que j'ai précisé dans mon validator (ou plutot le fichier de propriété) dans ma page JSP ....

    Contexte technique
    form_co.jsp : formulaire ou je rentre les coordonnées d'une personne
    GestionCo.java : action dérivant d'un DispatchAction avec les 2 méthodes suivantes :
    - GestionCo.edit qui prérempli le formulaire
    - GestionCo.save qui sauvegarde

    Dans mon action (dans struts-config),
    - j'ai précisé le input pour préciser la page en cas d'erreur
    - j'ai positionné validate à false pour ne pas qu'il y ait de validation qu'il y ait l'affichage de la page jsp


    Mon struts-config :
    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
    <action path="/GestionCo"
    	type="ac.crm.struts.action.GestionCo"
    	name="GestionCo"
    	parameter="action"
    	input="/pages/auth/form_co.jsp"
    	validate="false"
    	scope="request">
    	<forward name="home" path="/MainPage.do" />
    	<forward name="login" path="/pages/auth/login_co.jsp" />
    	<forward name="auth" path="/pages/auth/auth_co.jsp" />
    	<forward name="form" path="/pages/auth/form_co.jsp" />
    	<forward name="edit" path="/GestionCo.do?action=edit" />
    	<forward name="save" path="/Adm_Co.do?action=list" />
    </action>
    ....
    	<message-resources parameter="MessageResources" />
    ......		
    	<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
    		<set-property property="pathnames" value="/WEB-INF/validator-rules.xml, /WEB-INF/validation.xml"/>
    	</plug-in>
    </struts-config>

    Dans ma méthode GestionCo.save :
    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 ActionForward save(ActionMapping mapping, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response)
    	throws Exception {
     
    		ActionMessages errors = form.validate(mapping, request);
    		if ( !errors.isEmpty() )
    		{
     
     
    			this.saveErrors(request, errors);
    			return mapping.getInputForward() ;
    		}
     
    		.....
    		....
    		return mapping.findForward("save");
    }
    Mon validation.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form name="GestionCo">
       	<field property="lastname" depends="required">
          		<arg key="commercial.errors.lastname"/>
       	</field>
    </form>
    Ma paje jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <html:errors/> 
    <html:text property="lastname" />
    lastname est bien sur une propriété de mon form-bean.

    Comme je disais, le validator fonctionne très bien. Il empeche la validation mais malheuresement je n'arrive pas à afficher l'erreur ....

  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
    As-tu bien défini ceci dans le fichier properties :
    errors.required={0} est obligatoire
    commercial.errors.lastname=lastname

  3. #3
    Membre éprouvé

    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 183
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 183
    Par défaut
    C_navy, je n'avais pas défini l'alias required :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    errors.required={0} est obligatoire
    Tu es une génie . Je comprends maintenant comment on peux différiencier les différents types d'erreurs : manquant, syntaxe, ...

    D'un autre coté, cela signifie que mon post est très explicite, claire pour exposer le pb ...

    Bonne soirée

  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
    En fait, dans le nom de la clé définie comme argument pour la validation du champ lastname, il n'y a pas de raison d'y mettre le mot errors car cette clé permet d'attribuer un libellé au champ lastname et que le libellé de l'erreur est définie via errors.required.

    Tu pourrais donc la définir comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <arg key="commercial.lastname"/>
    et dans le fichier properties :
    errors.required={0} est obligatoire.
    commercial.lastname=Le nom du commercial
    et le message d'erreur qui s'affichera dans la jsp si tu ne saisis rien dans le champ lastname sera :
    Le nom du commercial est obligatoire.

Discussions similaires

  1. Afficher les messages d'erreur dans une JOptionPane
    Par nassima_1418 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 24/10/2013, 15h23
  2. Réponses: 2
    Dernier message: 25/05/2011, 17h02
  3. Traduire les messages d'erreur de validation
    Par Aquaa dans le forum Zend_Form
    Réponses: 2
    Dernier message: 10/05/2010, 13h08
  4. Afficher les messages d'erreurs
    Par jeedev dans le forum JSF
    Réponses: 3
    Dernier message: 25/08/2008, 17h48
  5. [ZendCore] Afficher les messages d'erreur
    Par yvesn40 dans le forum Zend
    Réponses: 2
    Dernier message: 17/04/2007, 11h48

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