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 :

plugin Validate (validation). Messages dynamique suivant la langue


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut plugin Validate (validation). Messages dynamique suivant la langue
    Bonsoir, je cherche à charger dynamiquement ou du moins à imposer une configuration dynamique suivant la langue à notre cher plugin validate.
    J'ai essayer divers méthode mais aucune ne semble fonctionner:
    Methode 1:
    Dans mon fichier de base monscript1.js:
    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
    var registration = $("#dc-registration").validate({
    		onsubmit: true,
    		event: 'submit',
    		onkeyup: false,
    		rules: {
    	    	pr_lastname: {
    				required: true,
    				minlength: 2
    			},
    			pr_firstname: {
    				required: true,
    				minlength: 2
    			},
    			pr_pseudo: {
    				required: true,
    				minlength: 2,
    			},
    			pr_email: {
    				required: true,
    				email: true,
    			},
    			conf_email: {
    				required: true,
    				email: true,
    				equalTo: "#pr_email"
    			},
    			pr_cryptkeypass: {
    				required: true,
    				minlength: 8,
    				password: "#pr_pseudo"
    			},
    			conf_cryptkeypass: {
    				required: true,
    				equalTo: "#pr_cryptkeypass"
    			},
    			idcountry:{required: true},
    			agree:{required:true}
    		}
    	});
    	$("#dc-registration").registration;
    J'appel ceci via un autre script fr_signup.js:
    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
    (function($) { 
    	$.validator.setDefaults({ 
    		messages: {
    			pr_lastname: {
    				required: "Enter a lastname"
    			},
    			pr_firstname: {
    				required: "Enter a firstname"
    			},
    			pr_pseudo: {
    				required: "Enter a username",
    				remote: jQuery.format("{0} is already in use")
    			},
    			pr_email: {
    				required: "Enter a email",
    				email: "Enter a valid mail",
    				remote: jQuery.format("{0} is already in use")
    			},
    			conf_email: {
    				required: "Enter a email",
    				email: "Enter a valid mail",
    				equalTo: "Enter the same email"
    			},
    			pr_cryptkeypass: {
    				password: "the password is weak",
    				required: "Enter a password",
    				minlength: "Enter a min length(8)"
    			},
    			conf_cryptkeypass: {
    				required: "Repeat your password",
    				minlength: jQuery.format("Enter at least {0} characters"),
    				equalTo: "Enter the same password as above"
    			},
    			idcountry:{required: "Choice country"},
    			agree: "Please agree to our policy"
    		}
    	});
    });
    Cette méthode ne fonctionne pas j'ai alors entrepris :

    ficher de configuration de base idem que précédent

    Création d'un fichier json fr_signup.json:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {lastname:"Enter a lastname"}
    Que j'appel dans mon script sur la page courante:
    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
     
    $.getJSON("fr_signup.json", function(data) {
       $.validator.setDefaults({ 
    		messages: {
    			pr_lastname: {
    				required: data.lastname
    			},
    			pr_firstname: {
    				required: "Enter a firstname"
    			},
    			pr_pseudo: {
    				required: "Enter a username",
    				remote: jQuery.format("{0} is already in use")
    			},
    			pr_email: {
    				required: "Enter a email",
    				email: "Enter a valid mail",
    				remote: jQuery.format("{0} is already in use")
    			},
    			conf_email: {
    				required: "Enter a email",
    				email: "Enter a valid mail",
    				equalTo: "Enter the same email"
    			},
    			pr_cryptkeypass: {
    				password: "the password is weak",
    				required: "Enter a password",
    				minlength: "Enter a min length(8)"
    			},
    			conf_cryptkeypass: {
    				required: "Repeat your password",
    				minlength: jQuery.format("Enter at least {0} characters"),
    				equalTo: "Enter the same password as above"
    			},
    			idcountry:{required: "Choice country"},
    			agree: "Please agree to our policy"
    		}
    	});
     });
    Que puis-je faire pour avoir une méthode qui fonctionne

  2. #2
    Membre éprouvé Avatar de vrd-74
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 76
    Par défaut
    Pourquoi ne pas insérer directement les données dans la fonction de base ?

    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
     
    $.getJSON("fr_signup.json", function(data) {
    	var registration = $("#dc-registration").validate({
    		onsubmit: true,
    		event: 'submit',
    		onkeyup: false,
    		rules: {
    			pr_lastname: {
    				required: true,
    				minlength: 2
    			},
    			[...]
    		}, messages : {
    			pr_lastname: {
    				required: data.lastname.required,
    				minLength: data.lastname.shortLength
    			}
    			[...]
    		}
    	});
    	$("#dc-registration").registration;
    });
    Et dans le json :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {lastname:{required:"Enter a last name",shortLength:"Enter a lastname of two characters at least"}}
    En théorie ça devrait fonctionner.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Par défaut
    Je viens de tester mais sa ne fonctionne pas.
    J'ai essayer avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {lastname:{required:"Enter a last name",shortLength:"Enter a lastname of two characters at least"}}
    en utilisant le paramètre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    pr_lastname: {
    				required: data.lastname.required
    			},
    Par contre en utilisant des données simple sa fonctionne :
    Dans le json
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {lastname:"Enter a last name"}
    Dans le js
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    pr_lastname: {
    				required: data.lastname
    			},
    une idée pour que sa tourne avec les params supplémentaire comme ci-dessus ?
    EDIT: Par contre ceci fonctionne :
    Dans le json:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    {
      "lastname": ["Enregistrez votre nom"],
      "firstname": ["Enregistrez votre prénom"],
      "username": ["Enregistrez votre pseudo","{0} est déjà utilisé"]
    }
    Dans le js:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    pr_lastname: {
    	required: data.lastname[0]
    		},
    pr_firstname: {
    	required: data.firstname[0]
    		},
    pr_pseudo: {
    	required: data.username[0],
    	remote: jQuery.format(data.username[1])//"{0} is already in use"
    	}

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

Discussions similaires

  1. [PrestaShop] Personnaliser le champ du moteur de recherche et traduire le message affiché suivant la langue
    Par reman dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 07/10/2013, 16h54
  2. Réponses: 1
    Dernier message: 17/03/2010, 16h41
  3. [Validator][Débutant]Message un peu trop envahissant
    Par stardust dans le forum Struts 1
    Réponses: 1
    Dernier message: 27/11/2006, 15h26
  4. [DTD] Valider un fichier xml suivant une DTD
    Par Tail dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 26/06/2006, 11h23
  5. [castor][SOAP] Probleme avec la validation du message SOAP
    Par VinceFromBcn dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 05/09/2005, 14h12

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