IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

validation des champs saisie


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 686
    Points : 118
    Points
    118
    Par défaut validation des champs saisie
    salut
    j'ai utiliser l'API InputVerifier pour valider les champs saisi par un utilisateur de mon application.
    la validation est faite si l'utilisateur tape une valeur invalide pour un champs mais mon probleme est que si l'utilisateur oublie de saisir un champs, dans ce cas la validation est ignoré.
    est ce qu'il existe un moyen pour tester si l'utilisateur a saisi touis les champs necessaires

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Le code ci-dessous démontre clairement que le verifier est toujours appelé. C'est probablement ton vérifier qui déconne sur les champs vide. Revois son code.

    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 class Verifier extends JFrame {
    	public Verifier(){
    		getContentPane().setLayout(new FlowLayout());
    		getContentPane().add(new JLabel("type 'ABC' here"));
     
    		JTextField field = new JTextField(25);
    		field.setInputVerifier(new InputVerifier() {
     
    			@Override
    			public boolean verify(JComponent input) {
    				System.out.println("verifier appelé avec "+((JTextField)input).getText());
    				return ((JTextField)input).getText().equals("ABC");
    			}
    		});
    		getContentPane().add(field);
    		getContentPane().add(new JButton("test"));
    		setVisible(true);
    		pack();
    	}
     
    	public static void main(String argv[]){
    		new Verifier();
    	}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    verifier appelé avec 
    verifier appelé avec a
    verifier appelé avec abc
    verifier appelé avec ABC

  3. #3
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 686
    Points : 118
    Points
    118
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Le code ci-dessous démontre clairement que le verifier est toujours appelé. C'est probablement ton vérifier qui déconne sur les champs vide. Revois son code.

    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 class Verifier extends JFrame {
    	public Verifier(){
    		getContentPane().setLayout(new FlowLayout());
    		getContentPane().add(new JLabel("type 'ABC' here"));
     
    		JTextField field = new JTextField(25);
    		field.setInputVerifier(new InputVerifier() {
     
    			@Override
    			public boolean verify(JComponent input) {
    				System.out.println("verifier appelé avec "+((JTextField)input).getText());
    				return ((JTextField)input).getText().equals("ABC");
    			}
    		});
    		getContentPane().add(field);
    		getContentPane().add(new JButton("test"));
    		setVisible(true);
    		pack();
    	}
     
    	public static void main(String argv[]){
    		new Verifier();
    	}
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    verifier appelé avec 
    verifier appelé avec a
    verifier appelé avec abc
    verifier appelé avec ABC
    merci tchize,mon probleme est que lorsque j'appyuie sur un bouton ,l'action associé est declenché malgres que mon inputverifier declare une erreur.

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    le inputverifier agit uniquement sur le focus, l'action du bouton peut être appelé sans qu'il aie le focus. Une solution simpel serait, dans ton action, de tester "bouton.hasFocus()" pour voir si il a bien eu le focus. Si oui, ton input actuel a été validé. Mais pas nécessairement les autres. Pour tout valider, il faut a la main sur tous les composant appeler getInputVerifier().verify(component)

Discussions similaires

  1. contrôles des champs saisis dans un formulaire
    Par barouz dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 06/12/2013, 13h55
  2. Réponses: 2
    Dernier message: 29/06/2007, 08h17
  3. [VBA/access]validation des champs d'un formulaire access
    Par hoaxpunk dans le forum VBA Access
    Réponses: 2
    Dernier message: 30/04/2007, 13h28
  4. Validation des champs
    Par Alec6 dans le forum JSF
    Réponses: 5
    Dernier message: 24/01/2007, 17h48
  5. [EXCEL] Validation des données saisies - nouvelle Question :-)
    Par Paloma dans le forum Macros et VBA Excel
    Réponses: 39
    Dernier message: 29/11/2006, 13h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo