//valide la longueur de la china entre 3 et 20
public static boolean validerEntierDansIntervalle(String nom, int BORNE_INF, int BORNE_SUP) throws EmployeInvalideException {
boolean estValide = false;
if (nom.length() >= BORNE_INF && nom.length() <= BORNE_SUP) {
estValide = true;
} else {
String msg = "L'entier " + nom + " n'est pas dans l'intervalle [" + BORNE_INF+ " à " + BORNE_SUP + "]";
EmployeInvalideException e = new EmployeInvalideException(msg);
throw e;
}
return estValide;
}
//valide les caracteres speciaux
public static boolean ValiderCaracEtCaracSpeciaux(String nom) throws EmployeInvalideException {
boolean valide = true;
nom = nom.trim();
char car;
int i = 0;
while (valide == true && i<nom.length()) {
car = nom.charAt(i);
if(estUneLettre(car)==true || car == '\'' ||car == '-' || car == ' '){
i++;
}
else{
valide=false;
String msg = "Le caractere " + car + " n'est pas valide";
EmployeInvalideException e = new EmployeInvalideException(msg);
throw e;
}
}
return valide;
}
/**
* cette methode verifie si le nom est valide ( 3 a 20 caracteres et ne prend qu'un tiret, apostrophe et l'espace comme caracteres speciaux
*
*pas de parametre
*return un nom valide
*/
public static String saisirNom () throws EmployeInvalideException {
String nom = "";
char car;
boolean verifLongueur = false;
boolean verifCharSpeciaux = false;
final String MESS_SOLL_NOM = "Entrez votre nom. Limite caractere: 3-20. Caractère speciaux autorisé: -, ,' ";
final String MESS_ERREUR = "Ce nom nest pas entre 3 et 20 caracteres";
do{
try {
System.out.println (MESS_SOLL_NOM);
nom = Clavier.lireString();
verifLongueur = validerEntierDansIntervalle (nom,3,20);
verifCharSpeciaux = ValiderCaracEtCaracSpeciaux (nom);
}catch (EmployeInvalideException e) {
System.out.println ("***Erreur "+ e);
}
}while(verifLongueur == false || verifCharSpeciaux == false);
return nom;
}
Be the first to comment
You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.