Bonjour,
J'essaye de valider un formulaire en suivant la méthode des validators du livre de Jean-charles Félicité sur Struts.
J'ai suivi ses instructions, mais mon formulaire se valide tout le temps, c'est à dire que la méthode execute() de l'Action correspondante au formulaire et executée à tous les coups alors qu'on ne devrais pas arriver là.
Je vous donne mes fichiers :
le struts-config.xml
Le validation.xml
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 <struts-config> <form-beans> <form-bean name="NouvelAgentForm" type="com.myapp.struts.ActionForm.NouvelAgentForm"/> <form-bean name="NouvelArretForm" type="com.myapp.struts.ActionForm.NouvelArretForm"/> <form-bean name="ListeArretsAgentForm" type="com.myapp.struts.ActionForm.ListeArretsAgentForm"/> <form-bean name="ChoixAgentForm" type="com.myapp.struts.ActionForm.ChoixAgentForm"/> <form-bean name="LoginActionForm" type="com.myapp.struts.ActionForm.LoginActionForm"/> </form-beans> <action input="/Vues/listeArretsAgent.jsp" name="NouvelArretForm" path="/nouvelArret" scope="session" type="com.myapp.struts.Action.NouvelArretAction"> <forward name="afficheFormulaire" path="site.nouvelArret.page"/> <forward name="ajoutSuccess" path="site.ajoutArretOk.page"/> </action> <!-- ========================= Validator plugin ================================= --> <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/> </plug-in>
La jsp
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 <formset> <!-- FORMULAIRE D'AJOUT D'ARRET --> <form name="NouvelArretForm"> <field property="dateDebut" depends="required"> <arg key="NouvelArretForm.dateDebut"/> </field> <field property="dateFin" depends="required, date"> <arg key="NouvelArretForm.dateFin"/> <var> <var-name>datePatern</var-name> <var-value>dd/MM/YYYY</var-value> </var> </field> </form> </formset>
Et l'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 <html:form action="nouvelArret"> <html:errors/> <table border="0"> <tr><td>Motif de l'arrêt :</td><td> <html:select property="motif"> <html:optionsCollection property="listeMotifs" value="value" label="label"/> </html:select> </td></tr> <tr><td>Date de début :</td><td><input type="text" name="dateDebut" value="jjmmaaaa" /></td></tr> <tr><td>Date de fin :</td><td><input type="text" name="dateFin" value="jjmmaaaa" /></td></tr> <tr><td>Commentaires :</td><td> <textarea name="memo" rows="4" cols="20"></textarea></td></tr> </table> <br> <html:submit>Ajouter cet arrêt</html:submit> </html:form>
Voilà, je ne comprend pas le formulaire est validé à chaque fois !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public class NouvelArretForm extends org.apache.struts.validator.ValidatorForm { private ArrayList listeMotifs=new ArrayList(); private String motif; private String dateDebut; private String dateFin; private String memo; .....getters/setters et constructeur....
merci d'avance
Seb.
Partager