Bonjour, mon but est de controler un formulaire d'ajout client, qui contient raison social, adresse,tel, email, ville et pays, j'ai réussi à faire une méthode validate mais c'est juste pour controler si les champs sont vide ou non, autre chose : par exemple le raison social ne doit pas se repeter, donc pour cela lorsque j'ai construit mes fichier.hbm.xml j'ai mis la column a unique=true et j'ai gérer les exceptions que peuvent se lever lors d'une resaisie du meme enregistrement, mais ce que je veux savoir est ce que je peux gérer meme les exceptions au niveau validate (tous les controle possible parmi eux les exceptions ?)
Ma question est comment puis je gérer le controle de l'email et du tel au niveau de la méthode validate ?
Autre question est ce que le validator fait la meme chose que la methode validate !!?
AjouterClient.jsp :
AjoutClientAction.java
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 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Ajout Client</title> </head> <body> <font color="red"><html:errors/></font> <h3>Nouveau Client :</h3> <hr/> <html:form action="cli.do"> <table border="1" width="50%" bordercolor="blue" align="center"> <tr><td width="30%">Société :</td><td><html:text property="raisonSocial"></html:text><br/></td></tr> <tr><td width="30%">Adresse :</td><td><html:text property="adresse"></html:text><br/></td></tr> <tr><td width="30%">Tel :</td><td><html:text property="tel"></html:text><br/></td></tr> <tr><td width="30%">Email :</td><td><html:text property="email"></html:text><br/></td></tr> <tr><td width="30%">Ville :</td><td><html:text property="ville"></html:text><br/></td></tr> <tr><td width="30%">Pays :</td><td><html:text property="pays"></html:text><br/></td></tr> <tr><td colspan="2"></td></tr> <tr><td colspan="2" align="center"><html:submit value="Valider"></html:submit></td></tr> </table> </html:form> </body> </html>
AjoutClientForm :
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
37
38
39
40
41
42
43
44
45
46 package presentation.str; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import ma.corporate.planning.metier.Client; import ma.corporate.planning.metier.GestClient; import org.apache.struts.action.Action; import org.apache.struts.action.ActionError; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; public class AjoutClientAction extends Action{ public ActionForward execute( ActionMapping map, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { GestClient gc = new GestClient(); String soc = ((AjoutClientForm) form).getRaisonSocial(); String adr = ((AjoutClientForm) form).getAdresse(); String tel = ((AjoutClientForm) form).getTel(); String email = ((AjoutClientForm) form).getEmail(); String ville = ((AjoutClientForm) form).getVille(); String pays = ((AjoutClientForm) form).getPays(); ActionErrors errors = new ActionErrors(); ActionError newError = null; Boolean t= gc.addClient(soc, adr, tel, email, ville, pays); if(t) return map.findForward("success"); else { newError = new ActionError("errors.doublons.Database"); errors.add(ActionErrors.GLOBAL_ERROR, newError); saveErrors(request, errors); return map.findForward("failure"); } } }
GestClient.java
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 package presentation.str; import javax.servlet.http.HttpServletRequest; import ma.corporate.planning.metier.GestClient; import org.apache.struts.action.ActionError; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; public class AjoutClientForm extends ActionForm { private String raisonSocial; private String adresse; private String tel; private String email; private String ville; private String pays; public String getRaisonSocial() { return raisonSocial; } public void setRaisonSocial(String raisonSocial) { this.raisonSocial = raisonSocial; } public String getAdresse() { return adresse; } public void setAdresse(String adresse) { this.adresse = adresse; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getVille() { return ville; } public void setVille(String ville) { this.ville = ville; } public String getPays() { return pays; } public void setPays(String pays) { this.pays = pays; } public ActionErrors validate(ActionMapping arg0, HttpServletRequest arg1) { ActionErrors errors = new ActionErrors(); if ((raisonSocial == null) || (raisonSocial.length() < 1)) errors.add("raisonSocial", new ActionError("error.raisonSocial.vide")); if ((adresse == null) || (adresse.length() < 1)) errors.add("adresse", new ActionError("error.adresse.vide")); if ((tel == null) || (tel.length() < 1)) errors.add("tel", new ActionError("error.tel.vide")); if ((email == null) || (email.length() < 1)) errors.add("email", new ActionError("error.email.vide")); if ((ville == null) || (ville.length() < 1)) errors.add("ville", new ActionError("error.ville.vide")); if ((pays == null) || (pays.length() < 1)) errors.add("pays", new ActionError("error.pays.vide")); return errors; } }
struts.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
23
24 public Boolean addClient(String rs,String ad,String t,String e,String v,String p){ try { Session session=HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction(); Client c=new Client(); c.setRaisonSocial(rs); c.setAdresse(ad); c.setTel(t); c.setEmail(e); c.setVille(v); c.setPays(p); session.save(c); session.getTransaction().commit(); return true; } catch (Exception e1) { return false; } } ....
Pour la redondance de donnée j'ai deja reussi a detecter qu'il y a une redandance (pour raison social et email) mais ce que j'ai pas reussi a le faire c'est séparer entre une resaisie d'email et du raison social ?
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 <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config> <form-beans> <form-bean name="cfp" type="presentation.str.AjoutClientForm"/> </form-beans> <global-forwards> <forward name="VueAjoutClient" path="/vues/AjouterClient.jsp"/> </global-forwards> <action-mappings> <action path="/cli" type="presentation.str.AjoutClientAction" scope="request" name="cfp" validate="true" input="/vues/AjouterClient.jsp"> <forward name="success" path="/vues/AjouterClient.jsp" redirect="false"/> <forward name="failure" path="/vues/AjouterClient.jsp"/> </action> </action-mappings> <message-resources parameter="ApplicationResources"/> </struts-config>
Merci pour votre aide
Partager