cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
25 févr. 2008 à 16:24
lakichemole
Messages postés253Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention18 mai 2009
-
6 mars 2008 à 09:24
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
lakichemole
Messages postés253Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention18 mai 2009 6 mars 2008 à 09:24
et pourquoi "if (oRules[0] != 'undefined')" et pas juste "if (oRules[0])" C'est la même chose non??
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 5 mars 2008 à 23:13
Oué en effet c'est là le probleme :)
En fait j'avais mis ca en pensant que ca corrigerai un probleme. Je l'ai commenté, et je l'ai décommenté juste avant de mettre le code en ligne, pensant que ca ne poserai pas de problemes. Shame on me ;)
C'est ok maintenant ... normalement ! :p
cs_genjikun
Messages postés14Date d'inscriptiondimanche 2 mai 2004StatutMembreDernière intervention 5 mars 2008 5 mars 2008 à 20:52
Ce qui est marrant, c'est que l'exemple sur le site fonctionne et avec les fichiers sources, ça ne fonctionne pas.
J'ai fait une brève comparaison entre les deux JS.
Il y a ce code en "trop" sur le JS qui ne fonctionne pas.
Fonction this.addrule :
else if (oRules[0] != 'undefined') {
_addRule (eltName, oRules[0]);
}
lakichemole
Messages postés253Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention18 mai 2009 5 mars 2008 à 19:19
A le bo.. bon testeur!! :D
Bonne correction;)
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 5 mars 2008 à 18:44
Jvais regarder ca ! :)
Chez moi j'ai pas d'erreurs mais le formulaire ne marche pas (Chose anormale puisque quand je l'ai posté, il fonctionnait ! :p ^^ !!!)
A mon avis j'ai fait une modif entre temps qui à tout fait planter.
Petite anecdote : Avant la mise à jour, le formulaire n'était jamais validé. Vous voulez savoir pourquoi ? car la fonction onSubmit retournait toujours false ! Forcément ! :p
Je corrige ce bug ce soir et prends en note vos commentaires
cs_genjikun
Messages postés14Date d'inscriptiondimanche 2 mai 2004StatutMembreDernière intervention 5 mars 2008 5 mars 2008 à 13:58
pareil pour moi sous ie6,ff3b3 (& opera browser :p) ,erreur de javascript au lancement de la age index.html
Ligne 78: rule: (oRule.rule!= null) ? oRule.rule : '',
rule a la valeur null ou n'est pas un objet
lakichemole
Messages postés253Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention18 mai 2009 5 mars 2008 à 13:39
IE 6
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 5 mars 2008 à 13:09
Lakichemole, tu es sous quel navigateur avec cette erreur ?
lakichemole
Messages postés253Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention18 mai 2009 5 mars 2008 à 12:03
Je viens de tester la version finale:
- Au chargement erreur Javascript (deboogeur activé) à la ligne 77:
oRule est null ligne 77 --> "oRule.rule != null"
- Et ma petite date du 30 février qui marche toujours ;)
La dernière ligne droite!!
cs_genjikun
Messages postés14Date d'inscriptiondimanche 2 mai 2004StatutMembreDernière intervention 5 mars 2008 5 mars 2008 à 11:56
Grand merci a toi !!!! je test ca de suite sous opera mobile :p
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 5 mars 2008 à 05:50
Ca y est !
Mise à jour effectuée ! :)
Alors au programme :
_ Faire en sorte que les emails de type zerze@zerze@zer.zer ne soient pas validée (seulement 1 @)
_ Faire en sorte que seul des ip valides (>255) soient autorisées
_ Code Postal avec plus de 5 nombres ne soient pas acceptés (erreur confirmée :p)
_ Commenter les expressions régulières au maximum
_ Eviter les expressions régulières là ou il n'y en a pas besoin (ok, enfin je pense ! :p)
_ Faire en sorte que l'application soit valide firefox 2, firefox 3 et Ie6 & 7
_ Permettre de valider une regle sans forcément rendre l'élément obligatoire
_ Optimiser (alleger) le code
_ Suppression des Alias pour les fonctions afin : d'alléger le code et éviter les embrouilles
Il ne me reste plus qu'a gerer les éléments de type radio/select/checkbox et comparer des éléments particulier (dates par exemples) et ca devrait etre bon.
Remarquez l'ajout du support du script directement dans le code html, dans la balise alt (allez voir du coté de mon site, le code html à été mis à jour, la balise input pour isRequired utilise cette méthode)
Bon j'avais dit Mardi, mais étant donné que je me suis pas encore couché, pour moi on est toujours mardi.
Bonne nuit :p
cs_genjikun
Messages postés14Date d'inscriptiondimanche 2 mai 2004StatutMembreDernière intervention 5 mars 2008 3 mars 2008 à 23:06
Ahh cool j'attendai que ça :p
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 3 mars 2008 à 22:50
euh merci ! :)
J'ai des ptits retards sur le temps, les corrections seront faites demain ! :)
rodessard
Messages postés1Date d'inscriptionsamedi 26 janvier 2008StatutMembreDernière intervention 3 mars 2008 3 mars 2008 à 20:51
Merci les gars de vous arracher la tête sur ce genre de problème. Je n'ai absolument aucune base en programmation, mais pour mon boulot, je rêvais que ce genre de truc soit possible... Ca fait maintenant des semaines que je surfe sur tous ces bouts de code et petit à petit, ça commence à prendre forme. Faut dire que où je travaille, on n'extrait pas toujours la quintessence de la matière grise et j'avais parfois l'impression de tomber de Mars... Assez douloureux quand on approche les 50 balais. Avec vous, tout parait simple et si on s'applique, pas à pas, on finit par comprendre et construire quelque chose qui tient la route. Encore Merci.
cs_genjikun
Messages postés14Date d'inscriptiondimanche 2 mai 2004StatutMembreDernière intervention 5 mars 2008 28 févr. 2008 à 20:56
Donc ca ne fonctionne pas sous firefox 3b3 ?:o
J'ai changer la fonction _onSubmit pour que ca envoi le formulaire, c'est pas trop propre mais c'est une solution à mon probleme
voila la fonction (un truc de ce genre...)
var _onSubmit = function () {
var cpt = 0;
var nb = 0;
for (elementName in _oValidity) {
if (!_oValidity[elementName]) {
_checkRules (elementName);
return false;
}if (_checkRules (elementName)) cpt cpt + 1; else cpt cpt-1;
nb = nb + 1
}
if (nb == cpt) return true; else return false;
}
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 28 févr. 2008 à 20:18
Mise à jour : ca ne marche pas non plus sous firefox 3b3, ce qui est étrange car j'ai programmé ce code sous firefox 3b3 justement !
Bizare :p
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 28 févr. 2008 à 20:04
c'est bizar pour ma part sous firefox 3b3 mon formulaire est validé !?!
Il faudrait aussi faire des tests sur checkbox, radiobutton, listbox, etc.
Mais pour la date je vais voir ce que je peux faire ! :p
cs_genjikun
Messages postés14Date d'inscriptiondimanche 2 mai 2004StatutMembreDernière intervention 5 mars 2008 28 févr. 2008 à 19:52
Enfin pour ma part, le formulaire n'est pas envoyé avec aucun des navigateurs web situé au dessus (IE 6, IE7, Firefox 2, Firefox 3beta3) même si tout les champs sont à "okay".
Sinon il serait bien de pouvoir faire d'autre tests sur les dates.
Exemple : SI date1 > date2 ALORS ... SINON ...
_De faire des tests sur des "checkbox"
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 28 févr. 2008 à 14:42
Merci c'est gentil ! :)
J'ai oublié une option, mais je sais pas comment je vais pouvoir respecter celle la, mais je vais faire de mon mieux :
_ Optimiser (alleger) le code
lakichemole
Messages postés253Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention18 mai 2009 28 févr. 2008 à 11:35
Bonne synthèse et bon courage :)
jantosze
Messages postés72Date d'inscriptionmercredi 29 mai 2013StatutMembreDernière intervention15 mai 2009 27 févr. 2008 à 23:20
yes
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 27 févr. 2008 à 23:02
En effet ! tu a raison, sous firefox 2, ca ne marche pas !
Je vais corriger ca.
Je suis un peu occupé pour le moment.
Je vais donc prendre en note tous vos commentaires et je les appliquerais lundi, je pourrai malheureusement pas avant.
@Jantosze, j'ai un peu de mal à comprendre ton idée, mais de ce que j'ai compris, on dirait plus que tu veux t'approcher d'une sorte de framework beaucoup plus complet non ?
Donc au programme de Lundi :
_ Faire en sorte que les emails de type zerze@zerze@zer.zer ne soient pas valider (seulement 1 @)
_ Faire en sorte que seul des ip valides (>255) soient autorisées
_ Code Postal avec plus de 5 nombres ne soient pas acceptés (erreur confirmée :p)
_ Commenter les expressions régulières au maximum
_ Eviter les expressions régulières là ou il n'y en a pas besoin
_ Faire en sorte que l'application soit valide firefox 2 :p
_ Permettre de valider une regle sans forcément rendre l'élément obligatoire
_ Si vous voyez d'autres éléments ... n'hésitez pas !
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 27 févr. 2008 à 22:54
ah ok je comprends mieux ta demande. En effet ce n'est actuellement pas possible de demander soit rien soit un email. Je vais regarder cela ! :)
Par contre pour le fait que malgré le tout ok, ca te refuse la validation, c'est étrange ! :/
Je regarde ca, mais si tu a plus de détails, tiens moi au courant ! :)
cs_genjikun
Messages postés14Date d'inscriptiondimanche 2 mai 2004StatutMembreDernière intervention 5 mars 2008 27 févr. 2008 à 22:49
En faite, il me met bien tout à "Okay" en vert, mais le formulaire n'est pas envoyé ! donc pas la possibilité de recuperer les valeurs saisies en php.
Je suis sous windows xp sp2 et au boulot sous w2k sp4.
J'ai bien compris à quoi servait la fonction isRequired.
Mais imaginons qu'il y a un champ "E-mail" non obligatoire, si je fait un submit sans avoir rempli ce champ, il me sortira le message d'erreur.
Je voudrais "zapper" ce test, et faire "si et seulement si" le champ "E-mail" est renseigné, on test sa validité.
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 27 févr. 2008 à 22:40
c'est étrange que ca ne marche pas chez toi alors que ca marche ailleur :p
Tu es sous quel os ? Windows ?
Tester si juste le champ est rempli, tu peux utiliser la fonction isRequired
cs_genjikun
Messages postés14Date d'inscriptiondimanche 2 mai 2004StatutMembreDernière intervention 5 mars 2008 27 févr. 2008 à 21:24
ah oui y a t-il possibilité de faire un test seulement si le champ est rempli ?
cs_genjikun
Messages postés14Date d'inscriptiondimanche 2 mai 2004StatutMembreDernière intervention 5 mars 2008 27 févr. 2008 à 21:13
jai firefox 2.0 et j'ai tester avec ie 6 et firefox 3 beta3, ca ne fonctionne aussi
on dirait que la fonction _onSubmit() retourne toujours false
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 27 févr. 2008 à 20:07
@Genjikun : Merci de t'intéresser à mon code :)
tu a quel navigateur ? (nom et version)
cs_genjikun
Messages postés14Date d'inscriptiondimanche 2 mai 2004StatutMembreDernière intervention 5 mars 2008 27 févr. 2008 à 20:01
Bonjour,
J'ai tester l'exemple via le lien que tu as indiqué. Lorsque je clique sur "submit" rien ne se passe, même si tout les champs sont remplis correctement.
Est-ce normal ?
jantosze
Messages postés72Date d'inscriptionmercredi 29 mai 2013StatutMembreDernière intervention15 mai 2009 27 févr. 2008 à 15:53
Salut CODEFALSE,
Concernant IsPopstal, c'est très simple j'écris 7555555588888 et je passe au champ suivant avec le OK. J'ai regardé le code qui se résume à une expression régulière /[9-0]{5}/ qui match la chaîne, j'ai essayé \d mais le même problème persiste. Je ne m'explique pas le résultat ...
isPostal : 4545454544555 Okay :) .
Concernant la fonction d'initialisation.
Tu as écrit pratiquement un composant, l'idée que je te soumets est effectivement une "encapsulation" des fonctions par un point d'entrée principal permettant l'ajustement de la langue des messages mais aussi simplifier la partie HTML.
lakichemole
Messages postés253Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention18 mai 2009 27 févr. 2008 à 10:10
Tu n'es pas obligé de n'utiliser que des expressions régulières :)
C'est vrai que se sera "moin beau" mais pour ma part, et c'est le problème qu'on a dans ma boite sur un gros projet, je préfère un truc performant et maintenable facilement qu'un tru fait pour la beauté du geste!
la métaphore utilisé par un de mes collègue :
"Tu voit pour leur projet c'est comme si on te demande de traverser le boulevard périphérique et que au lieu de prendre le bus tu fabrique une machine pour te téléporter"
Je trouve que ça résume bien :D
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 27 févr. 2008 à 09:32
Merci de vos conseils :)
Je vais essayer de commenter les expressions régulières au mieux, corriger l'email et le zip code, bien que ce dernier m'étonne, comment tu a fait pour entrer plus de 5 digits avec un ok ??!?!!
Par contre l'expression régulière pour les ip, si je veux me limiter au 255, risque de devenir tres longue ! Je vais voir
Gerer le mois de février non plus, c'est pas possible en expression régulière (enfin !, pas "facilement" possible :p)
@Jantosze, que veux-tu dire par une fonction initJsChecker ? je vois pas ce qu'elle doit charger. Tu veux dire des messages préfait, qui, en fonction du langage du navigateur, seraient adaptés (anglais, francais, etc ?)
jantosze
Messages postés72Date d'inscriptionmercredi 29 mai 2013StatutMembreDernière intervention15 mai 2009 26 févr. 2008 à 15:58
Salut,
Merci pour cette démo de mise en œuvre des expressions régulières.
Avec IsPostal, bien que l'expression régulière me convienne, je suis capable de rentrer un zipcode > à 5 digits avec un superbe Okay :)???
Juste une remarque, n'est il pas préférable d'intégrer une fonction InitJsChecker(langage) dans jschecker.js qui serait appelée lors du onload et qui permettrait de charger un type de langage pour les messages et épurer la partie hml?
cdt
JAN
lakichemole
Messages postés253Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention18 mai 2009 26 févr. 2008 à 10:49
Salut,
Tout d'abords joli travail :)
Quelques points à améliorer tout de même sinon ça serait pas marrant :)
- Des petits commentaires pour les expressions régulière serait top.
- Pour l'email: j'ai pu rentrer l'adresse suivante : test@test@test.com qui n'est pas un email
- 192.168.1.257 n'est pas une adresse IpV4
- 29/02/2009 n'est pas une date valide (30/02/2008 passe aussi)
Voilà pour ton prochain patch :). J'ai trop galérer moi même avec ce genre de truc dans mon ancienne boite donc je sais les détails qu'on peut oublier/passer la première fois.
PS: dsl pour l'orthographe.
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 25 févr. 2008 à 16:32
merci de ton commentaire :)
Merci aussi pour l'info sur la comptabilité :)
Des regrets, c'est la meilleure partie, c'est ce qui fait que le code évolue dans le bon sens.
Le Alt sur le textarea, pas testé en effet, faudra que je regarde ca (quand ca marchera :p)
Pour le onblur, si tu remplis rien, il t'indique la premiere erreur, puis la seconde, puis etc.
Il ne fait pas toutes les erreurs d'un coup pour quelques raisons :
_ Généralement l'indicateur d'erreur est centralisé (en bas ou en haut du formulaire) et non à proximité du champs comme dans l'exemple
_ C'est surtout pour une histoire de rapidité. A la base, mon onSubmit bouclait sur tous les éléments ayant une regle et en affichait leur erreur. Le probleme c'est que il y avait environ 2 à 3 secondes entre le moment de l'appui et la validation du formulaire. Bizzarement, Ie7 validait quand meme le formulaire si une erreur apparaissait dans les derniers champs (temps d'attente trop long ?)
Du coup j'ai préféré m'arreter dès qu'une erreur apparait, et ne pas boucler sur tous les tests, mais sur un indicateur booleanesque :p
Tu ne m'a peut-etre pas aidé sur 90% du code, mais tu m'a quand meme aidé, donc tu mérite d'être cité :)
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 25 févr. 2008 à 16:24
pas eu le loisir de "regarder de près", mais une
manière de faire bien plus que très très intéressante.
pour les dernières version d'Opera, de Safari,
de K-Meleon, ça à l'air de leur plaire..
regrets ? ( il en faut ! )
_ alt fonctionnera-t-il sur un textarea par exemple ?
_ onblur oui, mais si on ne "passe pas sur les champs",
pas d'erreurs signalées. je m'explique : au pire, on ne
remplit rien, on clique sur submit et seul
isEqual (to : "hello") : The field isEqual is required
apparait.
[ pour n'avoir aiguillé que, très partiellement, sur 1 ou
2 questions, je ne méritais vraiment pas d'être cité ! ]
6 mars 2008 à 09:24
5 mars 2008 à 23:13
En fait j'avais mis ca en pensant que ca corrigerai un probleme. Je l'ai commenté, et je l'ai décommenté juste avant de mettre le code en ligne, pensant que ca ne poserai pas de problemes. Shame on me ;)
C'est ok maintenant ... normalement ! :p
5 mars 2008 à 20:52
J'ai fait une brève comparaison entre les deux JS.
Il y a ce code en "trop" sur le JS qui ne fonctionne pas.
Fonction this.addrule :
else if (oRules[0] != 'undefined') {
_addRule (eltName, oRules[0]);
}
5 mars 2008 à 19:19
Bonne correction;)
5 mars 2008 à 18:44
Chez moi j'ai pas d'erreurs mais le formulaire ne marche pas (Chose anormale puisque quand je l'ai posté, il fonctionnait ! :p ^^ !!!)
A mon avis j'ai fait une modif entre temps qui à tout fait planter.
Petite anecdote : Avant la mise à jour, le formulaire n'était jamais validé. Vous voulez savoir pourquoi ? car la fonction onSubmit retournait toujours false ! Forcément ! :p
Je corrige ce bug ce soir et prends en note vos commentaires
5 mars 2008 à 13:58
Ligne 78: rule: (oRule.rule!= null) ? oRule.rule : '',
rule a la valeur null ou n'est pas un objet
5 mars 2008 à 13:39
5 mars 2008 à 13:09
5 mars 2008 à 12:03
- Au chargement erreur Javascript (deboogeur activé) à la ligne 77:
oRule est null ligne 77 --> "oRule.rule != null"
- Et ma petite date du 30 février qui marche toujours ;)
La dernière ligne droite!!
5 mars 2008 à 11:56
5 mars 2008 à 05:50
Mise à jour effectuée ! :)
Alors au programme :
_ Faire en sorte que les emails de type zerze@zerze@zer.zer ne soient pas validée (seulement 1 @)
_ Faire en sorte que seul des ip valides (>255) soient autorisées
_ Code Postal avec plus de 5 nombres ne soient pas acceptés (erreur confirmée :p)
_ Commenter les expressions régulières au maximum
_ Eviter les expressions régulières là ou il n'y en a pas besoin (ok, enfin je pense ! :p)
_ Faire en sorte que l'application soit valide firefox 2, firefox 3 et Ie6 & 7
_ Permettre de valider une regle sans forcément rendre l'élément obligatoire
_ Optimiser (alleger) le code
_ Suppression des Alias pour les fonctions afin : d'alléger le code et éviter les embrouilles
Il ne me reste plus qu'a gerer les éléments de type radio/select/checkbox et comparer des éléments particulier (dates par exemples) et ca devrait etre bon.
Remarquez l'ajout du support du script directement dans le code html, dans la balise alt (allez voir du coté de mon site, le code html à été mis à jour, la balise input pour isRequired utilise cette méthode)
Bon j'avais dit Mardi, mais étant donné que je me suis pas encore couché, pour moi on est toujours mardi.
Bonne nuit :p
3 mars 2008 à 23:06
3 mars 2008 à 22:50
J'ai des ptits retards sur le temps, les corrections seront faites demain ! :)
3 mars 2008 à 20:51
28 févr. 2008 à 20:56
J'ai changer la fonction _onSubmit pour que ca envoi le formulaire, c'est pas trop propre mais c'est une solution à mon probleme
voila la fonction (un truc de ce genre...)
var _onSubmit = function () {
var cpt = 0;
var nb = 0;
for (elementName in _oValidity) {
if (!_oValidity[elementName]) {
_checkRules (elementName);
return false;
}if (_checkRules (elementName)) cpt cpt + 1; else cpt cpt-1;
nb = nb + 1
}
if (nb == cpt) return true; else return false;
}
28 févr. 2008 à 20:18
Bizare :p
28 févr. 2008 à 20:04
Il faudrait aussi faire des tests sur checkbox, radiobutton, listbox, etc.
Mais pour la date je vais voir ce que je peux faire ! :p
28 févr. 2008 à 19:52
Sinon il serait bien de pouvoir faire d'autre tests sur les dates.
Exemple : SI date1 > date2 ALORS ... SINON ...
_De faire des tests sur des "checkbox"
28 févr. 2008 à 14:42
J'ai oublié une option, mais je sais pas comment je vais pouvoir respecter celle la, mais je vais faire de mon mieux :
_ Optimiser (alleger) le code
28 févr. 2008 à 11:35
27 févr. 2008 à 23:20
27 févr. 2008 à 23:02
Je vais corriger ca.
Je suis un peu occupé pour le moment.
Je vais donc prendre en note tous vos commentaires et je les appliquerais lundi, je pourrai malheureusement pas avant.
@Jantosze, j'ai un peu de mal à comprendre ton idée, mais de ce que j'ai compris, on dirait plus que tu veux t'approcher d'une sorte de framework beaucoup plus complet non ?
Donc au programme de Lundi :
_ Faire en sorte que les emails de type zerze@zerze@zer.zer ne soient pas valider (seulement 1 @)
_ Faire en sorte que seul des ip valides (>255) soient autorisées
_ Code Postal avec plus de 5 nombres ne soient pas acceptés (erreur confirmée :p)
_ Commenter les expressions régulières au maximum
_ Eviter les expressions régulières là ou il n'y en a pas besoin
_ Faire en sorte que l'application soit valide firefox 2 :p
_ Permettre de valider une regle sans forcément rendre l'élément obligatoire
_ Si vous voyez d'autres éléments ... n'hésitez pas !
27 févr. 2008 à 22:54
Par contre pour le fait que malgré le tout ok, ca te refuse la validation, c'est étrange ! :/
Je regarde ca, mais si tu a plus de détails, tiens moi au courant ! :)
27 févr. 2008 à 22:49
Je suis sous windows xp sp2 et au boulot sous w2k sp4.
J'ai bien compris à quoi servait la fonction isRequired.
Mais imaginons qu'il y a un champ "E-mail" non obligatoire, si je fait un submit sans avoir rempli ce champ, il me sortira le message d'erreur.
Je voudrais "zapper" ce test, et faire "si et seulement si" le champ "E-mail" est renseigné, on test sa validité.
27 févr. 2008 à 22:40
Tu es sous quel os ? Windows ?
Tester si juste le champ est rempli, tu peux utiliser la fonction isRequired
27 févr. 2008 à 21:24
27 févr. 2008 à 21:13
on dirait que la fonction _onSubmit() retourne toujours false
27 févr. 2008 à 20:07
tu a quel navigateur ? (nom et version)
27 févr. 2008 à 20:01
J'ai tester l'exemple via le lien que tu as indiqué. Lorsque je clique sur "submit" rien ne se passe, même si tout les champs sont remplis correctement.
Est-ce normal ?
27 févr. 2008 à 15:53
Concernant IsPopstal, c'est très simple j'écris 7555555588888 et je passe au champ suivant avec le OK. J'ai regardé le code qui se résume à une expression régulière /[9-0]{5}/ qui match la chaîne, j'ai essayé \d mais le même problème persiste. Je ne m'explique pas le résultat ...
isPostal : 4545454544555 Okay :) .
Concernant la fonction d'initialisation.
Tu as écrit pratiquement un composant, l'idée que je te soumets est effectivement une "encapsulation" des fonctions par un point d'entrée principal permettant l'ajustement de la langue des messages mais aussi simplifier la partie HTML.
27 févr. 2008 à 10:10
C'est vrai que se sera "moin beau" mais pour ma part, et c'est le problème qu'on a dans ma boite sur un gros projet, je préfère un truc performant et maintenable facilement qu'un tru fait pour la beauté du geste!
la métaphore utilisé par un de mes collègue :
"Tu voit pour leur projet c'est comme si on te demande de traverser le boulevard périphérique et que au lieu de prendre le bus tu fabrique une machine pour te téléporter"
Je trouve que ça résume bien :D
27 févr. 2008 à 09:32
Je vais essayer de commenter les expressions régulières au mieux, corriger l'email et le zip code, bien que ce dernier m'étonne, comment tu a fait pour entrer plus de 5 digits avec un ok ??!?!!
Par contre l'expression régulière pour les ip, si je veux me limiter au 255, risque de devenir tres longue ! Je vais voir
Gerer le mois de février non plus, c'est pas possible en expression régulière (enfin !, pas "facilement" possible :p)
@Jantosze, que veux-tu dire par une fonction initJsChecker ? je vois pas ce qu'elle doit charger. Tu veux dire des messages préfait, qui, en fonction du langage du navigateur, seraient adaptés (anglais, francais, etc ?)
26 févr. 2008 à 15:58
Merci pour cette démo de mise en œuvre des expressions régulières.
Avec IsPostal, bien que l'expression régulière me convienne, je suis capable de rentrer un zipcode > à 5 digits avec un superbe Okay :)???
Juste une remarque, n'est il pas préférable d'intégrer une fonction InitJsChecker(langage) dans jschecker.js qui serait appelée lors du onload et qui permettrait de charger un type de langage pour les messages et épurer la partie hml?
cdt
JAN
26 févr. 2008 à 10:49
Tout d'abords joli travail :)
Quelques points à améliorer tout de même sinon ça serait pas marrant :)
- Des petits commentaires pour les expressions régulière serait top.
- Pour l'email: j'ai pu rentrer l'adresse suivante : test@test@test.com qui n'est pas un email
- 192.168.1.257 n'est pas une adresse IpV4
- 29/02/2009 n'est pas une date valide (30/02/2008 passe aussi)
Voilà pour ton prochain patch :). J'ai trop galérer moi même avec ce genre de truc dans mon ancienne boite donc je sais les détails qu'on peut oublier/passer la première fois.
PS: dsl pour l'orthographe.
25 févr. 2008 à 16:32
Merci aussi pour l'info sur la comptabilité :)
Des regrets, c'est la meilleure partie, c'est ce qui fait que le code évolue dans le bon sens.
Le Alt sur le textarea, pas testé en effet, faudra que je regarde ca (quand ca marchera :p)
Pour le onblur, si tu remplis rien, il t'indique la premiere erreur, puis la seconde, puis etc.
Il ne fait pas toutes les erreurs d'un coup pour quelques raisons :
_ Généralement l'indicateur d'erreur est centralisé (en bas ou en haut du formulaire) et non à proximité du champs comme dans l'exemple
_ C'est surtout pour une histoire de rapidité. A la base, mon onSubmit bouclait sur tous les éléments ayant une regle et en affichait leur erreur. Le probleme c'est que il y avait environ 2 à 3 secondes entre le moment de l'appui et la validation du formulaire. Bizzarement, Ie7 validait quand meme le formulaire si une erreur apparaissait dans les derniers champs (temps d'attente trop long ?)
Du coup j'ai préféré m'arreter dès qu'une erreur apparait, et ne pas boucler sur tous les tests, mais sur un indicateur booleanesque :p
Tu ne m'a peut-etre pas aidé sur 90% du code, mais tu m'a quand meme aidé, donc tu mérite d'être cité :)
25 févr. 2008 à 16:24
manière de faire bien plus que très très intéressante.
pour les dernières version d'Opera, de Safari,
de K-Meleon, ça à l'air de leur plaire..
regrets ? ( il en faut ! )
_ alt fonctionnera-t-il sur un textarea par exemple ?
_ onblur oui, mais si on ne "passe pas sur les champs",
pas d'erreurs signalées. je m'explique : au pire, on ne
remplit rien, on clique sur submit et seul
isEqual (to : "hello") : The field isEqual is required
apparait.
[ pour n'avoir aiguillé que, très partiellement, sur 1 ou
2 questions, je ne méritais vraiment pas d'être cité ! ]
Cordialement.