Salut, je souhaiterai avoir quelques renseignements sur l'emploi de la méthode 'validate' de l'actionForm. Actuellement, j'ai essayé de l'utiliser dans un formulaire sur plusieurs pages et ca ne fonctionne pas.
Mon struts-config ressemble a ca:
Le actionForm :
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
22
23
24 <struts-config> <form-beans> <form-bean name="loginForm" type="technote.actionform.LoginForm" /> </form-beans> <action-mappings> <action path="/Input" input="/pages/loginForm.jsp" name="loginForm" type="org.apache.struts.actions.ForwardAction" parameter="/pages/adresseForm.jsp" scope="request" validate="true" /> <action path="/InputAdresse" input="/pages/adresseForm.jsp" name="loginForm" type="org.apache.struts.actions.ForwardAction" parameter="/pages/affiche.jsp" scope="request" /> </action-mappings> <message-resources parameter="MessageResources"/> <message-resources parameter="mesMessages" key="myResources" null="false" /> </struts-config>
le message resource rajouté contient:
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 public class LoginForm extends ActionForm { private Login personne = new Login(); private int page = 0; public Login getPersonne() { return personne; } public void setPersonne(Login login) { this.personne= login; } public int getPage() { return page; } public void setPage(int page) { this.page = page; } public ActionErrors validate (ActionMapping mapping, HttpServletRequest request) { ActionErrors erreurs = new ActionErrors(); if (page == 1) { if ( personne.getIdentifiant() == null || personne.getIdentifiant().equals("".trim())) { erreurs.add("login", new ActionMessage("errors.login")); } if ( personne.getMdp() == null || personne.getMdp().equals("".trim())) { erreurs.add("mdp", new ActionMessage("errors.mdp")); } } if (page == 2) { if (personne.getAdresse().getNumRue() == null || personne.getAdresse().getNumRue().equals("".trim())) { erreurs.add("numRue", new ActionMessage("errors.numRue")); } if (personne.getAdresse().getRue() == null || personne.getAdresse().getRue().equals("".trim())) { erreurs.add("rue", new ActionMessage("errors.rue")); } if (personne.getAdresse().getCodePostal() == null || personne.getAdresse().getCodePostal().equals("".trim())) { erreurs.add("codePostal", new ActionMessage("errors.cp")); } if (personne.getAdresse().getVille() == null || personne.getAdresse().getVille().equals("".trim())) { erreurs.add("ville", new ActionMessage("errors.ville")); } } return erreurs; } }
et la page du formulaire appelée est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 # 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é.
Je n'ai pas d'erreurs, mais lorsque que j'appuie sur le bouton pour passer a la page suivante, la validation n'est pas prise en compte. Les champs non renseignés ne créent pas d'erreur, et il n'y a pas de retour sur la page qui vient d'etre envoyée.
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
22
23
24
25
26
27
28
29
30
31
32
33
34 <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <%@ taglib uri="http://struts.apache.org/tags-nested" prefix="nested" %> <html:html> <head> <title>Page login</title> </head> <body> <html:errors /> <html:form action="/Input" method="post"> <nested:nest property="personne"> <bean:message bundle="myResources" key="login" /> <nested:text property="identifiant" /> <html:errors property="login" /> <br> <bean:message key="mdp" bundle="myResources" /> <nested:text property="mdp" /> <html:errors property="mdp" /> <br> <nested:hidden property="page" value="1" /> <html:submit value="Soumettre"/> </nested:nest> </html:form> </body> </html:html>
et là, je vois vraiement pas d'où ca vient .
Partager