Partage
  • Partager sur Facebook
  • Partager sur Twitter

validite de champs

    16 septembre 2011 à 20:23:36

    Bonjour ,

    Je travaille sur une application de bureau et je voudrais vérifier la validité de certains champs que voici :

    Tel : entre 0 et 18 caractères numériques
    Activité : entre 0 et 20 caractères

    Je voudrais le faire avec les regex

    merci de votre aide.


    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      16 septembre 2011 à 20:37:14

      Citation : fab2010

      Tel : entre 0 et 18 caractères numériques


      Cf. la javadoc, notamment String.matches() et les dizaines de tuto qui existent à ce sujet sur le net.

      Citation : fab2010

      Activité : entre 0 et 20 caractères


      Aucun intérêt d'utiliser une regex, la méthode String.length() suffit.
      • Partager sur Facebook
      • Partager sur Twitter
        16 septembre 2011 à 20:38:48

        Au cas où tu ne le saurais pas, voici un tuto de M@teo21 traitant les expressions régulières: Les expressions régulières.
        • Partager sur Facebook
        • Partager sur Twitter
          17 septembre 2011 à 17:49:55

          ok pour les Activité : entre 0 et 20 caractères

          mais pour le Tel : entre 0 et 18 caractères numériques , je ne vois pas
          • Partager sur Facebook
          • Partager sur Twitter
            18 septembre 2011 à 20:03:45

            Il te faut utiliser une expression régulière des plus simples!
            Le regex "[0-9]" vérifie que ton String ne contient que des caractères numériques.

            Si tu ne sais/veux pas utiliser le regex, tu peux toujours faire un tableau de caractère numériques et tu vérifies tous les caractères de ton string en comparaison à chaque caractère de ton tableau. Si tous les caractères de ton tableau renvoie false, cela veut dire qu'il n'y a pas que des caractères numériques dans ton string.

            Le plus simple et le plus léger reste quand même l'utilisation de regex.
            • Partager sur Facebook
            • Partager sur Twitter
              19 septembre 2011 à 18:08:48

              cela marche presque:

              sauf que quand je saisi le champ avec plus de 18 caractès numériques , il m 'affiche les deux messages d 'erreurs alors qu'il devrait m 'afficher seulement "La saisie du Téléphone est erronée : entre 0 et 18 caractères numériques autorisés"

              je ne sais pas encore pourquoi .


              public boolean verifChampsValide(String pTelephone,String pActivite,String pEmployes)
              	{   
              		short msg = 0;
              		String msg_error = "";
              				
              		try {
              			int tel = Integer.parseInt(pTelephone);
              		    }catch (NumberFormatException e) {
              				msg_error += "La saisie du Téléphone est erronée : les lettres ne sont pas autorisés \n";
              				msg++;
              			}
              		
              		if (pTelephone.length() > 18 )
              		{
              		  	msg_error += "La saisie du Téléphone est erronée : entre 0 et 18 caractères numériques autorisés \n";
              		 	msg++;
              		}
              				
              		if (pActivite.length() > 20  )
              		{
              		   msg_error += "La saisie du domaine d 'activité est erronée : entre 0 et 20 caractères autorisés\n ";
              		   msg++;
              		}
              		
              		if (pEmployes.length()  > 5)
              		{
              		 msg_error += "La saisie du nombre d'employés est erronée : entre 0 et 5 caractères numériques autorisés\n ";   
              		 msg++;	
              		}
              		
              		if (msg == 0)
              		{
              		return true;
              		}
              		else{
              		JOptionPane.showMessageDialog(null,msg_error,"ERREUR",JOptionPane.ERROR_MESSAGE);
              		return false;
              		}
              	}
              




              • Partager sur Facebook
              • Partager sur Twitter
                21 septembre 2011 à 18:07:43

                C'est parce que tu mets toujours des if.
                Tu dois mettre des else if.

                En mettant des else if, la chaine de condition s'arrêtera dès qu'une condition sera remplie.
                • Partager sur Facebook
                • Partager sur Twitter

                validite de champs

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown