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 :

Messages de validation


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Par défaut Messages de validation
    Bonjour,
    Je suis parvenue à trouver un code pour valider mon formulaire dynamique. Les champs obligatoires sont bien pris en compte, reste le souci que les messages sont en anglais. Puisque j'ai déjà mis les règles de validation (rules), la logique serait d'écrire en dessous les messages de validation (messages). Mais lorsque je fais ça, le message est bien affiché pour le 1er formulaire mais les formulaires suivants perdent toutes leurs conditions de validation, seulement à cause du "Messages" que j'ai rajouté ce qui fait que les formulaires sont soumis sans prendre en comptes les règles.
    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
     
    /*! jQuery Validation Plugin - v1.11.0  */
    /*--------------------------
    -------------*/
     $(document).ready(function() {
    /*code permettant de rajouter des formulaires*/
    /*------------
    --------*/
     
    /*Code de Validation du formulaire dynamique*/
           $('form.sky-form').on('submit', function(event) {
     
                // adding rules for inputs with class 'comment'
                $('input.comment').each(function() {
                    $(this).rules("add", 
                        {
                            required: true,
    			digits: true,
    			messages: {       /*------ Problème à ce niveau ------*/
    				required: "Veuillez saisir un numéro de téléphone",
    				digits:"Veuillez saisir des chiffres"
    						}
                        })
                });            
     
    	 $('input.comment2').each(function() {
                    $(this).rules("add", 
                        {
    			digits: true,
     
                        })
                });
    Ma question est : Pourquoi les rules s'appliquent-ils aux formulaires dynamiques et les messages ne s'appliquent-ils pas à tous les formulaires?

    Merci d'avance.

  2. #2
    Membre éclairé Avatar de Diablo_22
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2005
    Messages : 498
    Par défaut
    Bonjour,

    peux tu initialiser un Plunker avec ton code dans un exemple pour que l'on puisse bien comprendre ton problème.

    Merci.

  3. #3
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Par défaut
    Merci pour ta réponse.
    Je ne connaissais pas Plunker, il est mieux que jsfiddle qui a souvent des bugs
    Voici le code dans Plunker :
    http://plnkr.co/edit/QmfKEsZSo8vsKcA1k4V8?p=preview

    EDIT :
    Exp du problème :
    Le numéro de téléphone est obligatoire dans tous les formulaires.
    - Si j'ai un seul formulaire et que je clique sur valider alors il y aura le message d'erreur :"Veuillez saisir un numéro de téléphone". Le formulaire n'est pas soumis.
    - Si j'ai 2 formulaires ou plus et que je clique sur valider alors il l y aura tjrs des messages d'erreur, MAIS il suffit que je remplisse un seul champ obligatoire pour que les autres formulaires soient soumis et cela sans que leurs champs obligatoires ne soient pris en compte.

  4. #4
    Membre éclairé Avatar de Diablo_22
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2005
    Messages : 498
    Par défaut
    Le problème avec ton code c'est que tu as mal situé ton message d'erreur.

    Retire cette partie de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    messages: {
            required: "Veuillez saisir un numéro de téléphone",
            digits:"Veuillez saisir des chiffres"
            }
    Inspire toi de cet exemple tiré de la doc JQUERY

    http://jqueryvalidation.org/validate/

  5. #5
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Par défaut
    Bonjour,
    J'ai vu la syntaxe mais sur ce lien http://jqueryvalidation.org/rules/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $( "#myinput" ).rules( "add", {
      required: true,
      minlength: 2,
      messages: {
        required: "Required input",
        minlength: jQuery.validator.format("Please, at least {0} characters are necessary")
      }
    });
    Cette syntaxe correspond à la validation d'un formulaire dynamique, du moins c'est ce qui est dit dans un autre article. Et ici, je ne vois pas d'erreur avec l'emplacement de "messages".

  6. #6
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2013
    Messages : 388
    Par défaut
    Le problème est résolu
    En fait, il n'y avait pas d'erreur dans la syntaxe. Le problème résidait dans la bibliothèque, j'ai donc effacé celle-ci :
    /*! jQuery Validation Plugin - v1.11.0 */
    Et mis une autre en lien en HTML, et ça marche :
    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
     
    <HTML>
    <script src="http://code.jquery.com/jquery-1.9.0.js"></script>
    <!-- La nouvelle bibliothèque -->
    <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.10.0/jquery.validate.js"></script>
    <BODY>
    <script>
     $(document).ready(function() {
    /*code permettant de rajouter des formulaires*/
    /*------------
    --------*/
     
    /*Code de Validation du formulaire dynamique*/
           $('form.sky-form').on('submit', function(event) {
     
                // adding rules for inputs with class 'comment'
                $('input.comment').each(function() {
                    $(this).rules("add", 
                        {
                            required: true,
    			digits: true,
    			messages: {       /*------ Problème à ce niveau ------*/
    				required: "Veuillez saisir un numéro de téléphone",
    				digits:"Veuillez saisir des chiffres"
    						}
                        })
                });            
     
    	 $('input.comment2').each(function() {
                    $(this).rules("add", 
                        {
    			digits: true,
     
                        })
                });
    </script>
    </BODY>
    </HTML>

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

Discussions similaires

  1. [forms6] : message à la validation FRM-40400
    Par Nargel33 dans le forum Forms
    Réponses: 3
    Dernier message: 01/02/2007, 13h47
  2. fermeture d'une fenetre sans message de validation
    Par josémaria dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 09/11/2006, 10h03
  3. [PHP-JS] message de validation
    Par cell dans le forum Langage
    Réponses: 14
    Dernier message: 11/07/2006, 10h46
  4. message de validation, mais le boutton ne sert à rien!!
    Par dinastar dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 03/04/2006, 23h31
  5. message SOAP valide
    Par ep31 dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 08/11/2005, 10h14

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