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

Spring Web Java Discussion :

[Spring MVC] Validator : problème de rejectValue


Sujet :

Spring Web Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Points : 19
    Points
    19
    Par défaut [Spring MVC] Validator : problème de rejectValue
    Bonsoir,

    Alors voici mon but : j'aimerais paramétrer mes messages d'erreur.

    J'ai donc créé un fichier message.properties contenant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    erreur.requis = Le champ {0} est requis
    Dans la méthode validate() de mon Validator j'ai un test conditionnel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (form.getNom() == "") {
    	errors.rejectValue("nom", "erreur.requis",
    	new String[]{"nom"},
    	"Valeur requise");
    }
    Le validator remplit bien son rôle et bloque les saisies invalides.
    Cependant, lorsque dans ma page JSP j'affiche mes erreurs comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <spring:hasBindErrors name="identiteForm">
    	<h3>Erreurs sur le formulaire:</h3>
    	<font color="green"> <c:forEach items="${errors.allErrors}"
    		var="error">
    		<spring:message code="${error.code}" text="${error.defaultMessage}" />
    	</c:forEach></font>
    </spring:hasBindErrors>
    J'ai juste le message : "Le champ {0} est requis".

    Apparement, Spring n'arrive pas à résoudre le {0} pour y insérer le champ qui est en cause.

    Quelqu'un a une idée pour me dépanner?

    Merci d'avance pour vos réponses.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Bonjour Fearless13,

    En ce qui concerne le système des fichier message.properties je ne suis pas sur que tu puisse créer des messages dynamiquement.

    Ensuite plutôt que faire un message général pour toutes tes erreurs pourquoi ne pas faire un message d'erreur par champ de saisie et afficher ce message à coté du champ lui même?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par programmeur_fou Voir le message
    Bonjour Fearless13,

    En ce qui concerne le système des fichier message.properties je ne suis pas sur que tu puisse créer des messages dynamiquement.

    Ensuite plutôt que faire un message général pour toutes tes erreurs pourquoi ne pas faire un message d'erreur par champ de saisie et afficher ce message à coté du champ lui même?
    Bonjour et merci de ta réponse !

    Sur le tuto ici :
    http://static.springsource.org/sprin...ep-Part-3.html

    Il utilise la méthode rejectValue comme je l'ai fais et ça paramètre bien ses messages !

    Ta solution est bonne aussi mais j'aimerais bien utiliser cette méthode pour factoriser mes messages d'erreur !

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    re,

    je viens de faire le test et ça marche.
    es tu sur que c'est bien dans ce bloque de teste que tu passe?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par programmeur_fou Voir le message
    re,

    je viens de faire le test et ça marche.
    es tu sur que c'est bien dans ce bloque de teste que tu passe?
    Oui puisque mon erreur est bien rattrapée, c'est juste le {0} qui n'est pas transformé avec le String représentant le nom du champ..

    Bizarre...

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Points : 19
    Points
    19
    Par défaut
    Résolu...

    La solution est ici : http://forum.springsource.org/showthread.php?t=44241

    En gros, dans le <spring:message> il faut rajouter la balise arguments pour que Spring aille les chercher !!!

    Merci beaucoup encore.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 476
    Points : 595
    Points
    595
    Par défaut
    Salut,

    Merci de faire partager l'info
    Par contre, d'après la discussion sur le lien que t'as envoyé, j'ai cru comprendre que c'est encore plus simple d'envoyer uniquement l'objet Message dans l'attribut message.
    Ils flottent tous en bas

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par thebloodyman Voir le message
    Salut,

    Merci de faire partager l'info
    Par contre, d'après la discussion sur le lien que t'as envoyé, j'ai cru comprendre que c'est encore plus simple d'envoyer uniquement l'objet Message dans l'attribut message.
    Bonjour,

    Exact on peut aussi faire directement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <spring:message message="${errMsgObj}" />
    Et Spring va se charger de résoudre les champs.

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

Discussions similaires

  1. Spring MVC Validation
    Par MASSAKA dans le forum Spring Web
    Réponses: 0
    Dernier message: 08/12/2008, 12h48
  2. [Spring MVC] et problème de résolution de message
    Par enok37 dans le forum Spring Web
    Réponses: 0
    Dernier message: 16/11/2007, 12h24
  3. Réponses: 1
    Dernier message: 04/02/2007, 23h40
  4. [Spring MVC] validation.xml coté client
    Par Tail dans le forum Spring Web
    Réponses: 1
    Dernier message: 28/10/2006, 17h46
  5. [Spring MVC][Validator] Ne stop pas si il y a une erreurs
    Par Hikage dans le forum Spring Web
    Réponses: 3
    Dernier message: 15/02/2006, 09h43

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