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

JavaScript Discussion :

Script de validation de champs


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2013
    Messages : 114
    Points : 57
    Points
    57
    Par défaut Script de validation de champs
    Bonjour,
    Je suis tout nouveau sur ce forum car je me suis remis à la programmation après un arrêt de 5 ans. Très difficile de s'y remettre...

    Voila je suis sur un projet et j'ai donc écrit des fonctions qui me permettent de vérifier mes champs.

    Voici le 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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    <script type="text/javascript">	
    function surligne(champ, erreur)
    {
       if(erreur)
          champ.style.backgroundColor = "#b66c6c";
    	  alert("vérifier");
       else
          champ.style.backgroundColor = "";
    }
     
     
    function verifTel(champ)
    {
       if(champ.value.length == 0 )
       {
          surligne(champ, true);
          return false;
       }
       else
       {
          surligne(champ, false);
          return true;
       }
    }
     
    function verifNom(champ)
    {
       if(champ.value.length < 2 || champ.value.length > 25)
       {
          surligne(champ, true);
          return false;
       }
       else
       {
          surligne(champ, false);
          return true;
       }
    }
     
     
    function verifMail(champ)
    {
       var regex = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
       if(!regex.test(champ.value))
       {
          surligne(champ, true);
          return false;
       }
       else
       {
          surligne(champ, false);
          return true;
       }
    }
     
     
    function verifNbre(champ)
    {
       if(champ.value.length != 2 )
       {
          surligne(champ, true);
          return false;
       }
       else
       {
          surligne(champ, false);
          return true;
       }
    }
     
    function verifDate(champ)
    {
       if(champ.value.length != 8 )
       {
          surligne(champ, true);
          return false;
       }
       else
       {
          surligne(champ, false);
          return true;
       }
    }
     
    function verifHeure(champ)
    {
       if(champ.value.length != 5 )
       {
          surligne(champ, true);
          return false;
       }
       else
       {
          surligne(champ, false);
          return true;
       }
    }
     
     
    function verifForm(f)
    {
       var pseudoOk = verifNom(f.nom);
       var mailOk = verifMail(f.mail);
       var telOk = verifTel(f.tel);
       var nbreOk = verifNbre(f.nbre_pers);
       var dateOk = verifDate(f.date);
       var heureOk = verifHeure(f.heure);
     
       if(pseudoOk && mailOk && telOk && nbreOk && dateOk && heureOk)
          return true;
       else
       {
          alert("Veuillez remplir correctement tous les champs");
          return false;
       }
    }
    </script>

    Voici le HTML

    Code html : 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
    <form action="page.php"  id="form_reservation" method="post" onsubmit="return verifForm(this)">
    <div class="col">
    <h2>Coordonnée</h2>
    <p>
    <label>Nom : </label><input type="text" id="nom" name="nom" onblur="verifNom(this)"/><br />
    <label>Téléphone : </label><input type="text" name="tel" id="tel" size="15" onblur="verifTel(this)"/> <br />
    <label>Mail : </label><input type="text" name="mail" id="mail" size="20" onblur="verifMail(this)"/> <br />
    </p>
    </div>
    <div class="col">
    <h2>Votre choix:</h2>
    <label>Nombre de personne : </label>
    <select type="text" id="nbre_pers" name="nbre_pers" onblur="verifNbre(this)">
     
    <?
    for ($i=1; $i<15;$i++) 
    {
       echo '<option value="'.$i.'" >'.$i.'</option>';
    }
    echo '<option value="15etplus" >15 et +</option>';
    ?>
    </select><br />
    <label>Date : </label><input type="text" id="date" name="date" size="10" onblur="verifDate(this)" onchange="javascript:getDay();"/> <br />
    <label>Heure : </label><input type="text" id="heure" name="heure" size="5" onblur="verifHeure(this)"/> 
    </p>
    </div>
    <input type="submit" value="Valider" />
    </form>


    Et rien ne se passe, rien du tout sniiiiffff

    Je vous remercie de votre aide

    Cordialement

    Vincent

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 114
    Points : 88
    Points
    88
    Par défaut
    Salut Vincent !!

    Sympa ton p'tit code et pas mal après 5 ans d'arrêt héhé

    Alors ce que je te conseillerais c'est de tester t'es fonctions, de voir ce qu'elle retourne et si elle fonctionne correctement.

    Du genre :
    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
    function verifTel(champ)
    {
       //TEST DE LA VARIABLE
       alert(champ);
       if(champ.value.length == 0 )
       {
          surligne(champ, true);
          return false;
       }
       else
       {
          surligne(champ, false);
          return true;
       }
    }
    De même pour ta fonction pour surligner et etc...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function surligne(champ, erreur)
    {
       alert(champ);
       alet(erreur);
       if(erreur)
          champ.style.backgroundColor = "#b66c6c";
    	  alert("vérifier");
       else
          champ.style.backgroundColor = "";
    }
    Ta fonction onBlur elle fait quoi au juste ? Elle appelle la fonction lorsque l'utilisateur est en train de faire sa saisie ?

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2013
    Messages : 114
    Points : 57
    Points
    57
    Par défaut
    Je vais tester cela. Merci pour ton conseil. Je vais voir ca. OnBlur, si j'ai bien compris c'est la perte de focus qu'il y ai changement ou non de l'input.
    Je reviens une fois les tests fait

    Une fois les tests effectués:

    Il dois y avoir un problème de synthaxe ou autre car mon script ne fonctionne pas du tout...

    Il n'y a aucune réponse, aucune action de faite, le script ne démarre même pas.

    AIE AIE

    En effet 5 ans c'est long, je me remet dedans à relire les tutos, etc... C'est dure mais j'avais oublier cette sensation de tirage de cheveux lol tu sais quand ca veux pas marcher rrrrrr

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 114
    Points : 88
    Points
    88
    Par défaut
    Tu développes sous quoi ?

    Tu avais une erreur ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function surligne(champ, erreur)
    {
       if(erreur){
          champ.style.backgroundColor = "#b66c6c";
    	  alert("vérifier");
       }
       else{
          champ.style.backgroundColor = "";
       }
    }


    EDIT:

    Sa fonctionne chez moi sa devrait y aller aussi de ton côté !! héhé

    Tu as une dernière erreur avec ton $i, je te laisse y regarder sa doit pas être grand chose !

    Et oui une histoire de parenthèse de m...de

    Tcho !

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2013
    Messages : 114
    Points : 57
    Points
    57
    Par défaut
    De mon côté ma boucle avec mon $i marche bien. Tu a quoi toi comme erreur?

    Merci pour ton aide car ça marche... AHAHAHAH merci beaucoup, il y a 5 ans je venait sur ce forum, et je suis heureux de le retrouver et toujours la même mentalité, aide entraide et bonne humeur...

    A la prochaine ++


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lire et valider 140 champs
    Par wkhead dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 21/04/2006, 08h41
  2. Validation de champs ds formulaire
    Par fikou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 09/03/2006, 13h57
  3. Validation saisie champ
    Par JUZAN dans le forum Access
    Réponses: 10
    Dernier message: 20/01/2006, 18h07
  4. Classe ou script de validation des formulaires.
    Par __fabrice dans le forum Langage
    Réponses: 22
    Dernier message: 30/12/2005, 10h26
  5. Réponses: 3
    Dernier message: 15/03/2005, 12h22

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