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

jQuery Discussion :

Conseils pour formulaire de vérification complet


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Par défaut Conseils pour formulaire de vérification complet
    Bonjour,

    Je réalise depuis quelques temps des sites Internet, et je me pose une questions sur la durée de réalisation d'une formulaire complet.

    En faite aujourd'hui j'ai passé 1 journée complète pour faire un formulaire <html>,<?php, etc... Ce qui me prend le plus de temps c'est la réalisation de la fonction de vérification du formulaire en javascript. Chaque champ, avec une regex différente, etc..

    Voici un exemple de mes fonctions de vérification :
    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
     
    function verifAjoutClient(){
     
        var nom         = $('#nomClient').val();
        var telephone   = $('#telClient').val();
        var fax         = $('#faxClient').val();
        var portbale    = $('#portableClient').val();
        var adresse     = $('#adresseClient').val();
        var cp          = $('#cpClient').val();
        var ville       = $('#villeClient').val();
        var mail        = $('#mailClient').val();
        var contact     = $('#contactClient').val();
        var siret       = $('#siretClient').val();
        var ape         = $('#apeClient').val();
     
     
        var flag = true;
        var errorMsg = "";
     
        if(trim(nom) != "") {
     
            if(!verifChamp(nom,"nomClient","^[-a-zA-Z0-9éèàùçêâûîïëä_.,\ \-\']+$"))                 { flag = false; errorMsg += " - Nom\n" ; }
            if(!verifChamp(telephone,"telClient","^[0][0-9]{9}$"))                                  { flag = false; errorMsg += " - Téléphone\n" ; }
            if(!verifChamp(fax,"faxClient","^[0][0-9]{9}$"))                                        { flag = false; errorMsg += " - Fax\n" ; }
            if(!verifChamp(portbale,"portableClient","^[0][0-9]{9}$"))                              { flag = false; errorMsg += " - Portable\n" ; }
            if(!verifChamp(adresse,"adresseClient","^[-a-zA-Z0-9éèàùçêâûîïëä_.,\ -\']+$"))          { flag = false; errorMsg += " - Adresse\n" ; }
            if(!verifChamp(cp,"cpClient","^[0-9]{5}$"))                                             { flag = false; errorMsg += " - Code postal\n" ; }
            if(!verifChamp(ville,"villeClient","^[-a-zA-Z0-9éèàùçêâûîïëä_.,\ \-\']+$"))             { flag = false; errorMsg += " - Ville\n" ; }
            if(!verifChamp(contact,"contactClient","^[-a-zA-Z0-9éèàùçêâûîïëä_.,\ \-\']+$"))         { flag = false; errorMsg += " - Contact\n" ; }
            if(!verifChamp(siret,"siretClient","^[-a-zA-Z0-9éèàùçêâûîïëä_.,\ \-\']+$"))             { flag = false; errorMsg += " - N° de Siret\n" ; }
            if(!verifChamp(ape,"apeClient","^[-a-zA-Z0-9éèàùçêâûîïëä_.,\ \-\']+$"))                 { flag = false; errorMsg += " - N° APE\n" ; }
            if(!verifChamp(mail,"mailClient","^[0-9a-z._-]+@{1}[0-9a-z.-]{2,}[.]{1}[a-z]{2,5}$"))   { flag = false; errorMsg += " - Mail\n" ; }
     
                //Affichage d'une popup pour avertir si un de champs renvoi une erreur lors du sa vérification
                if(errorMsg != ""){ alert("Le ou les champs suivants ne sont pas remplis correctement :\n\n"+errorMsg); }
     
                if(flag){ 
                    $("#form").action("ajoutClient.php");
                    $("#form").method("post");
                    $("#form").submit();
                } else {
                    return false;
                }
        } else {
            alert("Le champ Nom est obligatoire");
        }
     
        return false;
    }
    Ma 1ere question : Est-ce la meilleur façon de faire pour vérifier les formulaires en javascript? Bien que je soit obliger de réaliser une fonction différentes pour chaque formulaire.

    Ma seconde question : Est-ce que pour vous une journée de 7h, pour faire le formulaire complet <html>, avec différent choix (si btn radio 1, affiche un textarea, si btn radio 2 affiche input='file' etc..) + vérification en javascript complet c'est trop. Moi ça me parait énorme mais je me dis que je peux pas aller plus vite.

    Par avance merci pour vos réponses et vos conseils

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Il existe des plugins de vérification en jquery (car tu sembles utiliser jquery ?)

    ces plugin comportent des formats prédéfinis pour la vérifications de formats ou types de données et les champs obligatoires.

    Sachant bien entendu qu'il faudra toujours faire une contrevérification coté serveur. La couche de vérification js ne servant qu'a éviter un aller retour serveur, et en aucun cas à ajouter de la sécurité sur les données saisies
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Par défaut
    Bonjour,

    Je te remercie pour ta réponse. J'ai regardé de plus près les plugin jQuery avec le plugin validate(). C'est vrai que ça à l'air de simplifier la chose. Il faut que je regarde ça de plus près pour le maitriser.

    Pour ce qui est du temps à passer comme expliqué dans le 1er post, est-ce que j'ai raison de penser que c'est beaucoup trop long, même avec plusieurs conditions?

    Merci pour la réponse

Discussions similaires

  1. demande de conseil pour formulaire
    Par Frero67 dans le forum Mise en forme
    Réponses: 4
    Dernier message: 04/06/2015, 15h55
  2. [XL-2003] Conseil pour formulaire information
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 09/04/2010, 18h36
  3. Demande d'un conseil pour formulaire et base de données
    Par zesavantfou dans le forum Langage
    Réponses: 4
    Dernier message: 21/11/2008, 14h29
  4. Beoisn de conseil pour formulaire web
    Par lg022 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 22/05/2008, 14h44
  5. Conseils pour formulaires
    Par funny_surf dans le forum IHM
    Réponses: 7
    Dernier message: 26/12/2005, 17h50

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