Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/11/2010, 22h22   #1
Membre éprouvé
 
Avatar de gtraxx
 
Homme Aurélien Gérits
Développeur Web
Inscription : mai 2006
Messages : 1 045
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gérits
Âge : 30
Localisation : Belgique

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

Informations forums :
Inscription : mai 2006
Messages : 1 045
Points : 498
Points : 498
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 :
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 :
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 :
{lastname:"Enter a lastname"}
Que j'appel dans mon script sur la page courante:
Code :
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
__________________
Au petit déjeuner, je prend du PHP et au souper du jQuery.
AFUP 2009 : Bien optimiser son code pour le référencement
Mon projet open source de librairie PHP 5: magix cjquery
gtraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 20h30   #2
Membre du Club
 
Avatar de vrd-74
 
Inscription : novembre 2010
Messages : 40
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 40
Points : 49
Points : 49
Pourquoi ne pas insérer directement les données dans la fonction de base ?

Code :
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 :
{lastname:{required:"Enter a last name",shortLength:"Enter a lastname of two characters at least"}}
En théorie ça devrait fonctionner.
vrd-74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 11h40   #3
Membre éprouvé
 
Avatar de gtraxx
 
Homme Aurélien Gérits
Développeur Web
Inscription : mai 2006
Messages : 1 045
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Gérits
Âge : 30
Localisation : Belgique

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

Informations forums :
Inscription : mai 2006
Messages : 1 045
Points : 498
Points : 498
Je viens de tester mais sa ne fonctionne pas.
J'ai essayer avec :
Code :
{lastname:{required:"Enter a last name",shortLength:"Enter a lastname of two characters at least"}}
en utilisant le paramètre :
Code :
1
2
3
pr_lastname: {
				required: data.lastname.required
			},
Par contre en utilisant des données simple sa fonctionne :
Dans le json
Code :
{lastname:"Enter a last name"}
Dans le js
Code :
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 :
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 :
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"
	}
__________________
Au petit déjeuner, je prend du PHP et au souper du jQuery.
AFUP 2009 : Bien optimiser son code pour le référencement
Mon projet open source de librairie PHP 5: magix cjquery
gtraxx est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h35.


 
 
 
 
Partenaires

Hébergement Web