Vérifier la saisie d'un champ java
Jean-Marc
-
Jean-Marc -
Jean-Marc -
Bonjour,
J'ai créé un formulaire de saisie en java.
L'insertion marche bien. Jusqu'ici tout va bien.
Maintenant, je voudrai vérifier si la nature de chaque champ est valide.
Par exemple pour remplir le nom de la personne, je voudrai vérifier que ce sont bien des lettres qui sont saisies dans le champ et non des entiers.
Je pense qu'il faut que je fasse la vérif avec un pattern mais je n'y connais rien la dedans...
Merci de m'aider les amis
J'ai créé un formulaire de saisie en java.
L'insertion marche bien. Jusqu'ici tout va bien.
Maintenant, je voudrai vérifier si la nature de chaque champ est valide.
Par exemple pour remplir le nom de la personne, je voudrai vérifier que ce sont bien des lettres qui sont saisies dans le champ et non des entiers.
Je pense qu'il faut que je fasse la vérif avec un pattern mais je n'y connais rien la dedans...
Merci de m'aider les amis
A voir également:
- Vérifier la saisie d'un champ java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Saisie gestuelle iphone - Guide
- Verifier compatibilite windows 11 - Guide
- Waptrick java voiture - Télécharger - Jeux vidéo
9 réponses
Effectivement, regardes du côté des Pattern
Exemple :
Exemple :
boolean b = Pattern.matches("[a-zA-Z -]*","Bernard Henri-Levy"); // trueEvidemment, tu peux affiner le Pattern selon ce que tu veux...
J'espère ne rien avoir oublié ;-)
private void btValider1_click ()
{
Groupe numGroupe = (Groupe) jComboBoxNumeroGroupe.getSelectedItem();
if (numGroupe == null)
{
JOptionPane.showMessageDialog(null, "Sélectionnez un numéro de groupe" );
return;
}
/////////////
String resp = (String) jComboBoxResponsabilité.getSelectedItem();
if (resp == null)
{
JOptionPane.showMessageDialog(null, "Sélectionnez une responsabilité" );
return;
}
/////////////
String titre = (String)jComboBoxTitre.getSelectedItem();
if (titre == null)
{
JOptionPane.showMessageDialog(null, "Sélectionnez un titre de civilité" );
return;
}
/////////////
int numMembre;
try
{
numMembre = Integer.parseInt(jTextFieldNumeroMembre.getText());
}
catch (NumberFormatException e)
{
JOptionPane.showMessageDialog(null, "Rentrez un numéro de membre" );
return;
}
/////////////
String nomMembre = jTextFieldNomMembre.getText();
if (!Pattern.matches("[A-Za-Z -]*", nomMembre)
{
JOptionPane.showMessageDialog(null, "Rentrez un nom de membre" );
return;
}
/////////////
String prenomMembre = jTextFieldPrenomMembre.getText();
if (!Pattern.matches("[A-Za-Z -]*", prenomMembre)
{
JOptionPane.showMessageDialog(null, "Rentrez un prénom de membre" );
return;
}
/////////////
Date date;
try
{
date = Date.valueOf(jTextFieldDate.getText());
}
catch (IllegalArgumentException e)
{
JOptionPane.showMessageDialog(null, "Rentrez une date au format aaaa-mm-jj" );
return;
}
//////////////////////////////////////////
try
{
Insertion.insertResa( numMembre, numGroupe.getnumGroupe(), resp, null, nomMembre, prenomMembre, titre );
JOptionPane.showMessageDialog(this, "Ajout effectué" , "Message", JOptionPane.INFORMATION_MESSAGE );
}
catch(Exception e)
{
e.printStackTrace();
JOptionPane.showMessageDialog(this, "Ajout non-effectué\n\n"+e , "Message", JOptionPane.ERROR_MESSAGE );
return;
}
//Remise des champs à vide
jTextFieldNumeroMembre.setText("");
jTextFieldDate.getText.setText("");
jTextFieldNomMembre.setText("");
jTextFieldPrenomMembre.setText("");
jComboBoxNumeroGroupe.setSelectedIndex(-1);
jComboBoxResponsabilité.setSelectedIndex(-1);
jComboBoxTitre.setSelectedIndex(-1);
//Grisonne les champs
jTextFieldDate.setEnabled(false);
jTextFieldNomMembre.setEnabled(false);
jTextFieldNumeroMembre.setEnabled(false);
jTextFieldPrenomMembre.setEnabled(false);
jComboBoxNumeroGroupe.setEnabled(false);
jComboBoxResponsabilité.setEnabled(false);
jComboBoxTitre.setEnabled(false);
jButtonConfirmer.setEnabled(false);
jButtonAnnuler.setEnabled(false);
}
Merci de ta réponse très rapide....
Y'a que ça à mettre pour vérifier si c'est un string???
Y'a que ça à mettre pour vérifier si c'est un string???
Oui que c'est bien un string!
Par contre je ne sais pas ou le mettre dans mon code vu que je fais déja une vérif sur le champ pour voir si le champ n'est pas vide....
Désolé de te déranger mais je n'y connais pas grand chose en java, je débute....
Voici mon code pour la vérif :
Par contre je ne sais pas ou le mettre dans mon code vu que je fais déja une vérif sur le champ pour voir si le champ n'est pas vide....
Désolé de te déranger mais je n'y connais pas grand chose en java, je débute....
Voici mon code pour la vérif :
private void btValider1_click ()
{
Groupe numGroupe = (Groupe)jComboBoxNumeroGroupe.getSelectedItem();
String resp = (String)jComboBoxResponsabilité.getSelectedItem();
String titre = (String)jComboBoxTitre.getSelectedItem();
int numMembre = Integer.parseInt( jTextFieldNumeroMembre.getText());
String nomMembre = jTextFieldNomMembre.getText();
String prenomMembre = jTextFieldPrenomMembre.getText();
if (numGroupe == null)
{
JOptionPane.showMessageDialog(null, "Sélectionnez un numéro de groupe" );
return;
}
else if (resp == null)
{
JOptionPane.showMessageDialog(null, "Sélectionnez une responsabilité" );
return;
}
else if (titre == null)
{
JOptionPane.showMessageDialog(null, "Sélectionnez un titre de civilité" );
return;
}
/*else if (numMembre.equals(""))
{
JOptionPane.showMessageDialog(null, "Rentrez un nom de membre" );
return;
}*/
else if (nomMembre.equals(""))
{
JOptionPane.showMessageDialog(null, "Rentrez un nom de membre" );
return;
}
else if (prenomMembre.equals(""))
{
JOptionPane.showMessageDialog(null, "Rentrez un prénom de membre" );
return;
}
//Date date = jTextFieldDate.getText();
try
{
Insertion.insertResa( numMembre, numGroupe.getnumGroupe(), resp, null, nomMembre, prenomMembre, titre );
JOptionPane.showMessageDialog(this, "Ajout effectuée" , "Message",
JOptionPane.INFORMATION_MESSAGE );
}
catch(Exception e)
{
System.out.println("Exception " + e.getMessage());
JOptionPane.showMessageDialog(this, "Ajout NON effectuée" , "Message",
JOptionPane.INFORMATION_MESSAGE );
}
//Remise des champs à vide
jTextFieldNumeroMembre.setText("");
//jTextFieldDate.getText.setText("");
jTextFieldNomMembre.setText("");
jTextFieldPrenomMembre.setText("");
jComboBoxNumeroGroupe.setSelectedIndex(-1);
jComboBoxResponsabilité.setSelectedIndex(-1);
jComboBoxTitre.setSelectedIndex(-1);
//Grissonne les champs
jTextFieldDate.setEnabled(false);
jTextFieldNomMembre.setEnabled(false);
jTextFieldNumeroMembre.setEnabled(false);
jTextFieldPrenomMembre.setEnabled(false);
jComboBoxNumeroGroupe.setEnabled(false);
jComboBoxResponsabilité.setEnabled(false);
jComboBoxTitre.setEnabled(false);
jButtonConfirmer.setEnabled(false);
jButtonAnnuler.setEnabled(false);
}
J'ai cours d'anglais t'es la à partir de 13h??
En tout cas un grand grand merci pour ton code je vais le tester et je te tien au courant ;)
Ça fais plaisir des gens comme toi...
Encore merci à toute à l'heure
En tout cas un grand grand merci pour ton code je vais le tester et je te tien au courant ;)
Ça fais plaisir des gens comme toi...
Encore merci à toute à l'heure
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai essayé le code et j'ai une erreur au niveau du pattern. Pourtant je l'ai importé.
Voici l'erreur lorsque j'essaye d'ajouter un membre :
Exception in thread "AWT-EventQueue-1" java.util.regex.PatternSyntaxException: Illegal character range near index 6
[A-Za-Z -]*
^
MERCI
Voici l'erreur lorsque j'essaye d'ajouter un membre :
Exception in thread "AWT-EventQueue-1" java.util.regex.PatternSyntaxException: Illegal character range near index 6
[A-Za-Z -]*
^
MERCI
Tu as dû faire import java.util.Date or moi j'ai utilisé java.sql.Date.
En fait la plupart des méthodes de ces deux classes sont dépréciées, l'idéal serait d'utiliser java.text.SimpleDateFormat et la méthode parse
En fait la plupart des méthodes de ces deux classes sont dépréciées, l'idéal serait d'utiliser java.text.SimpleDateFormat et la méthode parse
Merci pour le pattern pas d'erreur a déplorer.
Maintenant pour la date, j'ai beau rentrer des dates (12/01/1988 ou 1988-01-12) il me met que le format n'est pas bon!!pourquoi???
Est ce que cela peut être du à mon format de date défini dans ma base de données???
Défini comme ça dans ma base de données : "DATENAISSANCEMEMBRE" DATE,
Merci
Maintenant pour la date, j'ai beau rentrer des dates (12/01/1988 ou 1988-01-12) il me met que le format n'est pas bon!!pourquoi???
Est ce que cela peut être du à mon format de date défini dans ma base de données???
Défini comme ça dans ma base de données : "DATENAISSANCEMEMBRE" DATE,
Merci
Oups désolé je me suis trompé de message!Moi aussi j'ai un problème en java c'est pour ça!!rien de grave.
Bonne chance pour ton problème
Bonne chance pour ton problème
Concernant la date, j'ai trouvé quelque chose de fructueux^^.
En effet, dans mon fichier d'insertion de mes données dans la base de données, j'ai remarqué que les dates étaient insérées comme ceci :
Insert into MEMBRE (NUMPERSONNE,NUMGROUPE,RESPONSABILITEMEMBRE,DATENAISSANCEMEMBRE,NOMPERSONNE,PRENOMPERSONNE,TITRECIVILITE) values (6,12,'Maquilleuse ',to_timestamp('10/12/90 00:00:00,000000000','DD/MM/RR HH24:MI:SS,FF'),'Le Joliff ','Noelie ','Mlle');
Insert into MEMBRE (NUMPERSONNE,NUMGROUPE,RESPONSABILITEMEMBRE,DATENAISSANCEMEMBRE,NOMPERSONNE,PRENOMPERSONNE,TITRECIVILITE) values (8,6,'Chauffeur ',to_timestamp('21/05/88 00:00:00,000000000','DD/MM/RR HH24:MI:SS,FF'),'Letty ','Nicolas ','Mr');
Tu peux voir qu'il y a 00:00:00,000000000 rajouté dans la date alors que moi je ne souhaite insérer que la date c'est à dire to_timestamp('21/05/88','DD/MM/RR').
Et je pense donc qu'il faudrait remplacer le to_timestamp par to_date. Je me trompe???
Et voila pourquoi ça affiché tous ces zéros lors de l'éditiond e al date de naissance du membre.
En effet, dans mon fichier d'insertion de mes données dans la base de données, j'ai remarqué que les dates étaient insérées comme ceci :
Insert into MEMBRE (NUMPERSONNE,NUMGROUPE,RESPONSABILITEMEMBRE,DATENAISSANCEMEMBRE,NOMPERSONNE,PRENOMPERSONNE,TITRECIVILITE) values (6,12,'Maquilleuse ',to_timestamp('10/12/90 00:00:00,000000000','DD/MM/RR HH24:MI:SS,FF'),'Le Joliff ','Noelie ','Mlle');
Insert into MEMBRE (NUMPERSONNE,NUMGROUPE,RESPONSABILITEMEMBRE,DATENAISSANCEMEMBRE,NOMPERSONNE,PRENOMPERSONNE,TITRECIVILITE) values (8,6,'Chauffeur ',to_timestamp('21/05/88 00:00:00,000000000','DD/MM/RR HH24:MI:SS,FF'),'Letty ','Nicolas ','Mr');
Tu peux voir qu'il y a 00:00:00,000000000 rajouté dans la date alors que moi je ne souhaite insérer que la date c'est à dire to_timestamp('21/05/88','DD/MM/RR').
Et je pense donc qu'il faudrait remplacer le to_timestamp par to_date. Je me trompe???
Et voila pourquoi ça affiché tous ces zéros lors de l'éditiond e al date de naissance du membre.