Salut,
J'ai un bean formulaire (NoteForm.java) qui étend org.apache.struts.validator.ValidatorForm.
Dans mon fichier struts-config.xml, j'ai
Dans mon fichier validator-rules.xml, j'ai
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml" /> </plug-in>
J'ai une action d'ajout d'une note définie comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <formset> <form name="noteForm"> <field property="note.title" depends="required"> <msg name="required" key="note.form.error.title" /> </field> <field property="note.content" depends="required"> <msg name="required" key="note.form.error.content" /> </field> <field property="note.description" depends="required"> <msg name="required" key="note.form.error.description" /> </field> </form> </formset>
et une autre pour l'édition :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <action path="/newNoteSubmit" type="org.lr.mydataNotes.view.web.action.NewNoteSubmitAction" attribute="noteForm" name="noteForm" scope="request" input="/newNote.do" validate="true"> </action>
J'ai deux pages jsp très semblables (editNote.jsp et newNote.jsp) qui contiennt mon formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <action path="/editNoteSubmit" type="org.lr.mydataNotes.view.web.action.EditNoteSubmitAction" attribute="noteForm" name="noteForm" scope="request" input="/editNote.do" validate="true" > </action>
Maintenant, je commence par ce qui marche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <html:errors /> <html:form action="newNoteSubmit.do" > (ou action="editNoteSubmit.do") <html:text property="note.title"/> <html:textarea property="note.content" /> <html:textarea property="note.stringKeywords"/> <html:textarea property="note.description" /> <html:submit> <bean:message key="note.form.new.submit"/> </html:submit> </html:form>
-Je peux utiliser newNote.jsp pour ajouter une note.
-Si le champs "note.title" ou "note.content" ou "note.description" est vide, newNote.jsp s'affiche avec le(s) bon(s) message(s) d'erreur(s).
-Je peux utiliser editNote.jsp pour modifier une note.
-Les champs contiennt bien les données de la note.
-Je peux modifier les valeurs des champs.
Maintenant, ce qui ne marche pas
-Dans editNote.jsp, lorsque je supprime le contenu d'un champs, EditNoteSubmitAction.execute n'est plus appelé.
-Aucun message d'erreur lorsque je soumet le formulaire après avoir effacer le title, le contenu ou la description.
Je débute avec les formulaires struts et la validation, et je ne comprend pas du tout comment il est possible qu'après avec envoyé un formulaire (submit dans le browser) je ne rentre pas dans la méthode "execute" de mon action...
Merci d'avance pour vos éclaircissements
Lilian
Partager