Bonjour, j ai un petit soucis avec la validation dans Struts...
Supposons un formulaire d'identification basique(login, password)...
Pour le validation, j utilise la methode validate de l'ActionForm dans laquelle j oblige le login et le mot de passe a etre non vides...
Ensuite dans l Action je recupere le login et le mot de passe pour verifier l existence de l utilisateur dans la base de donnée...
A ce moment la, je voudrais envoye une erreur dans le cas d un echec d authentification, comment puis je faire
voici mon code
le struts-config.xml:
l action:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <action path="/Inside" type="ch.clio.ppc.action.AuthentificationAction" name="AuthentificationForm" input="tile.login"> <forward name="ok" path="tile.index"/> <forward name="nok" path="tile.login"/> </action>
Cela me ramene a la page de login quand le user n existe pas mais je n ai pas de messages d erreurs
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 public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)throws Exception { AuthentificationForm af = (AuthentificationForm) form; ActionMessages messages = new ActionMessages(); try { //Token creation request TokenAVO tvo = AuthorizationManager.getToken(af.getLogin(), af.getPass()); request.getSession().setAttribute("tvo", tvo); } catch (AuthorizationException e) { //User is not registered ActionMessage newMessage = new ActionMessage ("error.authentification.login"); messages.add(ActionMessages.GLOBAL_MESSAGE, newMessage); saveMessages(request, messages); return mapping.findForward("nok"); } //Cleaning form if (mapping.getAttribute() != null) { if (mapping.getScope().equals("request")) { request.removeAttribute(mapping.getAttribute()); } else { HttpSession session = request.getSession(); session.removeAttribute(mapping.getAttribute()); } } return mapping.findForward("ok"); }
Merci d avance
Partager