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