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 :

Validation de champs mail


Sujet :

JavaScript

  1. #1
    Débutant  
    Inscrit en
    Mars 2008
    Messages
    1 123
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 1 123
    Points : 170
    Points
    170
    Par défaut Validation de champs mail
    Bonjour

    voici mon 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
     
    <?php 
    include("admin/connexion.php");
    if(isset ($_POST['submit']))
     
    {
            $username=$_POST['username'];
            $password=$_POST['password'];
            $mail=$_POST['mail'];
            
            $nom=$_POST['nom'];
            $prenom=$_POST['prenom'];
            $adresse=$_POST['adresse'];
            $tel=$_POST['tel'];
     
            $sqlstr="SELECT * FROM inscription WHERE  username='$username'";
            $result = mysql_query($sqlstr)  or die ("Erreur de requ&ecirc;te sur la table de base de donn&eacute;es");
     
            $nb=mysql_num_rows($result);
            if($nb==0)
            {
                    $sqlstr="INSERT INTO inscription (username,password,mail,nom,prenom,adresse,tel,etat) VALUES 
                    ('$username','$password','$mail','$nom','$prenom','$adresse','$tel','1')";
                    echo $sqlstr;
                     mysql_query($sqlstr) or die ("Erreur ".mysql_errno()." : " . mysql_error());
     
                     echo 'Veuillez consultrer votre boite de reception pour les informations d\'authentification';
                    
            }
    }
    ?>
     
    <link href="site/css/styles.css" rel="stylesheet" type="text/css">
    <script type="text/javascript" src="js/jquery.validate.min.js"></script>
     
     
     
     
     
    <script type="text/javascript">
    /**
      * Basic jQuery Validation Form Demo Code
      * Copyright Sam Deering 2012
      * Licence: http://www.jquery4u.com/license/
      */
    (function($,W,D)
    {
        var JQUERY4U = {};
     
        JQUERY4U.UTIL =
        {
            setupFormValidation: function()
            {
     
                $("#register-form").validate({
                    rules: {
                    // les champs de encaissement bureau de poste
    					username:"required",
    	                password:"required",
    					password1:"required",
    					nom:"required",
    					prenom:"required",
    					mail:"required",
    					adresse:"required",
    					tel:"required"
     
     
     
     
                            },
                    messages: {
                        username:"Veuillez renseigner ce champ",
    	                password:"Veuillez renseigner ce champ",
    					password1:"Veuillez renseigner ce champ",
    					nom:"Veuillez renseigner ce champ",
    					prenom:"Veuillez renseigner ce champ",
    					mail:"Veuillez renseigner ce champ",
    					adresse:"Veuillez renseigner ce champ",
    					tel:"Veuillez renseigner ce champ"
     
     
                    }
                });
            }
        }
     
        //when the dom has loaded setup form validation rules
        $(D).ready(function($) {
            JQUERY4U.UTIL.setupFormValidation();
        });
     
    })(jQuery, window, document);
    </script>
     
     
     <form action="" method="post" name="critere" id="register-form" novalidate>
    <div id="container-content"><!--------------------------container content----------------------------->
    <div id="content"><!------------------------------------------content--------------------------------->
    <h2>Inscription</h2>
    <br/>
      <p> Nom d'utilisateur:  <input type="text" name="username" id="username"/></p><br/>
      <p> Mot de passe:  <input type="password" name="password" id="password"/></p><br/>
      <p> Confirmer mot de passe:  <input type="password" name="password1" id="password1"/></p><br/>
      <p> Adresse mail:  <input type="mail" name="mail" id="mail"/></p><br/>
     
     
      <p> Nom:  <input type="text" name="nom" id="mail"/></p><br/>
      <p> Prénom:  <input type="text" name="prenom" id="prenom"/></p><br/>
      <p> Adresse:  <input type="text" name="adresse" id="adresse"/></p><br/>
      <p> Tél:  <input type="text" name="tel" id="tel"/></p><br/>
      <p>  <input type="submit" name="submit" value="Inscription" class="button" style="color:red;" /></p><br/>
     
    </div><!------------------------------------------end content--------------------------------->
    </div> <!-----------------------------------end container content----------------------------->
    </form>
    je n'arrive pas à faire une règle pour mon champs mail et les champs mot de passe et confirmation de mot de passe

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    une règle pour faire quoi ?

  3. #3
    Débutant  
    Inscrit en
    Mars 2008
    Messages
    1 123
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 1 123
    Points : 170
    Points
    170
    Par défaut
    j'ai un champ adresse mail
    je veux une règle pour valider que l'utilisateur a bien écrit une adresse mail
    et j'ai deux champs mots de passe, je voulais une règle pour vérifier que les 2 mots de passe sont identiques

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 382
    Points : 10 410
    Points
    10 410
    Par défaut
    Pour le mail en php tu peux utiliser le filtre de validation if (filter_var($email, FILTER_VALIDATE_EMAIL)) {// 0k}

    Pour tester l'égalité de deux variables il faut utiliser "==" ou "===" qui compare également le type. La doc sur les opérateurs de comparaison est ici.

    Il faudra aussi, toujours en php, vérifier que tes variables sont renseignées et non nulles par exemple if(trim($_POST['nom']) == '') {$alerte[] = "Le nom doit être renseigné";}

    Quand tu auras fait tout cela et que ça affiche correctement les alertes uniquement en utilisant php, tu pourras passer à javascript.

    J'ai commencé par php car c'est uniquement le langage côté serveur qui peut réellement valider les variables.
    Côté client (javascript) la validation est pour le confort du visiteur, elle permet un retour d'information plus rapide et en même temps on peut éviter quelques requêtes serveurs, mais elle n'a aucune valeur réelle de validation.

    En javascript il sera inutile de charger une librairie pour si peu. Eventuellement jquery si tu l'utilise déjà par ailleurs ou sinon javascript vanilla (sans lib), mais en tous cas pas besoin de librairie spécialisée comme "JQUERY4U.UTIL". Pour faire quoi ?

    Pour les champs requis il existe l'attribut required en html <input type="text" name="nom" required>

    Ensuite en javascript il te restera à contrôler (éventuellement) l'égalité des deux champs pass sur l'événement onsubmit du formulaire. C'est le beaba, et éventuellement de contrôler par la même occasion que le mail contient un '@'. Pour récupérer la valeur d'un input ayant un id :

    Avec javascript :var username_value = document.querySelector("#username").value();
    avec jquery :var username_value = $("#username").val();

    Comme déjà dit c'est le serveur qui doit faire le réel travail de contrôle et donc dans ce cas de figure tu pourrais même te passer de javascript puisque le "required" dans l'attibut html traitera l'essentiel des erreurs utilisateur. Enfin en même temps le contrôle javascript est très basique à coder, et tu gagneras en expérience à le faire toi-même plutôt que d'utiliser une lib pour si peu.

    Attention dans un de tes champs je vois : <p> Nom: <input type="text" name="nom" id="mail"/></p><br/>

    Tu devrais faire plus de tutos et mieux te documenter avant de coder. Par exemple ton code php utilise l'extension mysql qui n'existe plus avec php 7. C'est soit mysqli, ou mieux PDO.

Discussions similaires

  1. Validation saisie champ
    Par JUZAN dans le forum Access
    Réponses: 10
    Dernier message: 20/01/2006, 18h07
  2. [RegEx] Récupérer le champ mail d'un fichier html (suite)
    Par nico93100 dans le forum Langage
    Réponses: 2
    Dernier message: 06/01/2006, 16h24
  3. table acces champ mail pour mailing ???
    Par jockey1 dans le forum Access
    Réponses: 3
    Dernier message: 17/09/2005, 21h19
  4. Réponses: 3
    Dernier message: 15/03/2005, 12h22
  5. expresssions régulières pour la validation d'un mail
    Par ndj1983 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/02/2005, 13h54

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