bonjour ,
je dois verifier que les champs ne sont pas vides anvant de faire un update dans la BDD , qu'il est possible qu'un des 2 champs de telephone soit vide , il y aussi une regex sur les champs du numero de telephone , il doit contenir des chiffres de 0-9 et contenir 10 caracteres
tout va bien jusqu'a la verification de la regex des champs du telephone . comment signaler dans la regex que le champs peut etre vide ?
voici une partie de mon code :
Code java : 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 try { ArrayList<String> liste = new ArrayList<String>(); liste.add(ville); liste.add(rue); liste.add(email); liste.add(prenom); liste.add(nom); liste.add(Integer.toString(numero)); liste.add(Integer.toString(cp)); String patternTelFixe="^[0-9]{10}$"; String patternTelMobile="^[0-9]{10}$"; String patternEmail = "^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\\.[a-z]{2,4}$"; boolean checkEmail = Pattern.matches(patternEmail, email); boolean CheckTelFixe=Pattern.matches(patternTelFixe, telFixe); boolean CheckTelMobile=Pattern.matches(patternTelMobile, telMobile); // mise à jour de la base de données avec les nouvelles valeurs // venant de la carte client if ( checkFields(liste) && ( CheckEmptyField(telFixe) || CheckEmptyField(telMobile) )) { if (checkEmail && CheckTelFixe && CheckTelMobile){ gestion.updateClient(client); }else{ if (!CheckTelFixe) { panelCarteClient.getEtTelFixe().setBorder( new LineBorder(Color.RED)); javax.swing.JOptionPane.showMessageDialog(null, "Ce champ n'est pas valide"); } } } else { javax.swing.JOptionPane.showMessageDialog(null, "Ce champ ne peut pas être vide"); } } catch (Exception e) { e.printStackTrace(); } } });
lorsque le champ ne contient pas 10 chiffres , les bordures deviennent rouges mais quand j'essaie de remettre une bonne valeur dans le champ cela continue d'afficher que le champ n est pas valide
les methodes pour la verif des champs vides :
Code java : 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 private boolean CheckEmptyField(String field) { if (!field.isEmpty()) { return true; } else { return false; } } private boolean checkFields(ArrayList<String> liste2) { for (String field : liste2) { if (!CheckEmptyField(field)) return false; } return true; }
merci d'avance
Partager