Valider les informations en entrée avant une action
Bonsoir,
Je souhaite faire un formulaire pré rempli, éditable par l'utilisateur.
J'utilise donc :
- des textfield
- une action show qui me rempli les champs et récupère quelques autres infos (implements preparable)
- une action save qui valide ce que rentre l'utilisateur et enregistre les nouvelles données.
Je distingue 4 cas possibles :
- l'affichage simple de la feuille.
- l'annulation des modifications par l'utilisateur
- la validation des champs
- l'enregistrement des infos.
Seulement voilà :s
Je vous montre mon struts.xml pour mieux comprendre:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
<action name="showEnt" class="com.formation.struts.actions.Entreprise_showAction">
<interceptor-ref name="store">
<param name="operationMode">RETRIEVE</param>
</interceptor-ref>
<interceptor-ref name="webFormation.interceptors"/>
<result name="success" type="tiles">site.contact.showEntreprise</result>
<result name="input" type="tiles">site.contact.showEntreprise</result>
</action>
<action name="saveEnt" class="com.formation.struts.actions.Entreprise_saveAction">
<interceptor-ref name="store">
<param name="operationMode">STORE</param>
</interceptor-ref>
<interceptor-ref name="webFormation.interceptors"/>
<result name="success" type="redirect-action">
<param name="actionName">showEnt</param>
<param name="id">${ent.id}</param>
</result>
<result name="input" type="redirect-action">
<param name="actionName">showEnt</param>
<param name="id">${ent.id}</param>
</result>
</action> |
L'annulation renvoit INPUT, et fait donc un redirect action de saveEnt vers showEnt. Pas de pb.
L'enregistrement renvoit un SUCCESS, et fait aussi un redirect action de saveEnt à showEnt. Tjs pas de pb.
Par contre, la validation de l'enregistrement est la suivante :
Code:
1 2 3 4 5 6
|
@Override public void validate() {
if (--pb avec mes champs--) {
addActionError("Vous devez renseigner les champs obligatoires.") ;
}
} |
Et on dirait que le addActionError "intercepte" le INPUT associé, ce qui empêche le redirect-action vers le showEnt.
Resultat: mon formulaire est vide avec seulement le message d'erreur !
Impossible de faire une validation des champs dans ces conditions.
Pleaz help :arf: