Tout-à-fait (en tout cas, c'est plus propre).Citation:
Envoyé par c_nvy
Version imprimable
Tout-à-fait (en tout cas, c'est plus propre).Citation:
Envoyé par c_nvy
C'est assez étrange:Citation:
Envoyé par c_nvy
fonctionne bienCode:<html:errors bundle="myResources" />
mais :
ouCode:<nested:errors bundle="myResources" property="errors.login" />
n'affiche rien !Code:<html:errors bundle="myResources" property="errors.mdp" />
pourtant j'ai bien défini les erreurs dans le fichier de proprietes:
Du coup je n'arrive pas a afficher les erreurs de maniere individuelle.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 # -- standard errors -- errors.header=<UL> errors.prefix=<LI> errors.suffix=</LI> errors.footer=</UL> # Errors errors.login=Le champ identifiant doit être renseigné. errors.mdp=Le champ mot de passe doit être renseigné. errors.numRue=Le champ numéro de rue doit être renseigné. errors.rue=Le nom de la rue doit être renseigné. errors.cp=Le code postal doit être renseigné. errors.ville=Le nom de la ville doit être renseigné.
Dans l'attribut property du tag html:errors, il faut mettre le nom de la propriété et non le nom de la clé du message :
Code:<html:errors bundle="myResources" property="mdp" />
Oui en effet, bien vu !Citation:
Envoyé par c_nvy
Merci pour ton aide, une fois de plus.
Par contre j'ai contasté que ca ne marche pas avec le tag 'nested', je suis étonné:
Code:<nested:errors bundle="myResources" property="login" />
Je n'ai jamais testé le tag nested:errors mais ta propriété s'appelle identifiant et non login.;)
effectivement, mais je l'avais enregistré en tant que "login", dans la méthode validate, ce qui fait que le message s'affiche tout de même avec "html" ;)Citation:
Envoyé par c_nvy
Code:
1
2
3 if ( personne.getIdentifiant() == null || personne.getIdentifiant().trim().equals("") { erreurs.add("login", new ActionMessage("errors.login")); }
Effectivement, je n'avais pas vu.:?
Un conseil, mets le même nom partout, ça t'évitera ce genre de désagréments.;)
Et puis, c'est plus facile de s'y retrouver.
EDIT : Et sinon, je maintiens que la fonction length() est bien plus propre :
mais bon, tu fais comme tu le sens.;)Code:
1
2
3
4 if (personne.getIdentifiant() == null || personne.getIdentifiant().length() == 0) { erreurs.add("identifiant", new ActionMessage("errors.identifiant")); }
Mais il faut laisser le 'trim' pour enlever les espaces ou non du coup ?
Ben, la réponse est un peu dans la question. Si tu considères qu'une chaine faite seulement d'espaces est une chaine vide, ben tu utilises trim() (et length(), pour faire plaisir à c_nvy ;) ) :
Et si tu considères qu'un champ avec uniquement des espaces est un champ saisi, ben tu fais pas de trim().Code:if (chaine == null || chaine.trim().size() == 0)
ok ca roule, je note tout ca ;)