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:
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 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
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;
	}
 
}
le message resource rajouté contient:
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é.
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
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>
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.

et là, je vois vraiement pas d'où ca vient .