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 : 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
        <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 : Sélectionner tout - Visualiser dans une fenêtre à part
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