antoinesyma
Messages postés5Date d'inscriptionmardi 13 septembre 2011StatutMembreDernière intervention11 octobre 2011 29 sept. 2011 à 11:32
bonjour Tguerlus j'utilise ton script de validation automatique de formulaire je cherche la valeur de alt pour n'autoriser que la saisie de texte disons les lettres alphabétiques, les lettres accentuées, espace sans les chiffres et les caractères non alphabétiques. Merci
antoinesyma
Messages postés5Date d'inscriptionmardi 13 septembre 2011StatutMembreDernière intervention11 octobre 2011 29 sept. 2011 à 10:45
bonjour tguerlus j'utilise ton script de validation automatique de formulaire je cherche la valeur de alt pour autoriser seulement la saisie de texte disons les lettres alphabétique et les lettres accentuées sans les chiffres et les caractères non alphabétiques
cousinlol
Messages postés59Date d'inscriptionmercredi 21 juin 2006StatutMembreDernière intervention26 octobre 2015 20 juil. 2006 à 14:55
Bonjour,
C'est vrai cela semble supper, mais quid pour les saisies dans des champs type "textarea" ou "select".
"alt" n'existe pas dans ces cas là.
Comment positionne-t-on le contrôle ?
Merci
gonzamax
Messages postés1Date d'inscriptiondimanche 27 juin 2004StatutMembreDernière intervention20 décembre 2005 20 déc. 2005 à 18:58
Super Tguerlus. Bravo pour ce code, c'est exactement ce qu'il me fallait.
cs_johann1
Messages postés170Date d'inscriptionjeudi 21 octobre 2004StatutMembreDernière intervention 9 janvier 2008 26 août 2005 à 16:54
Super Tguerlus!
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 3 mars 2005 à 10:17
Qu'as tu mis dans la fonction test()?
misterniark
Messages postés14Date d'inscriptionmercredi 1 novembre 2000StatutMembreDernière intervention 1 août 2007 2 mars 2005 à 16:20
le probleme de button c'est l'inverse, effectivement ca marche mais ma page ne recois plus le $_post donc plus d'enregistrement...
il me faudrai une solution intermediaire ;)
Mathieu
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 2 mars 2005 à 13:56
Je pense que ton probleme vient du fait que tu utilise une balise input de type submit. Utilise simplement une balise input de type button avec l'evenement onclick comme tu l'as fait.
A+
TG
misterniark
Messages postés14Date d'inscriptionmercredi 1 novembre 2000StatutMembreDernière intervention 1 août 2007 2 mars 2005 à 12:53
en fait je pense quil faudrai que le fonction qui ce declenche quand je clique sur le bouton "ok" de la fenetre "alert" vide ma variable php $go car c'est elle qui declenche l'eregistrement. mais je ne sait pas du tout comment faire je connais tres peu le JS.
Merci a toi
Mathieu
misterniark
Messages postés14Date d'inscriptionmercredi 1 novembre 2000StatutMembreDernière intervention 1 août 2007 2 mars 2005 à 12:48
il medit que le champs est manquant mais execute ma fonction d'enregistrement du formulaire.
cela ne viens surement pas de ta source, mais si tu vois quel est le probleme ca me sauverai pas mal.
Merci
misterniark
Messages postés14Date d'inscriptionmercredi 1 novembre 2000StatutMembreDernière intervention 1 août 2007 2 mars 2005 à 12:47
il medit que le champs est manquant mais execute ma fonction d'enregistrement du formulaire.
cela ne viens surement pas de ta source, mais si tu vois quel est le probleme ca me sauverai pas mal.
Merci
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 2 mars 2005 à 09:35
Peux-tu être plus précis pour que je puisse reproduire le bug ou alors envoie moi le code
A+
misterniark
Messages postés14Date d'inscriptionmercredi 1 novembre 2000StatutMembreDernière intervention 1 août 2007 1 mars 2005 à 18:58
bonsoir,
jai un soucie... quand je test un champs "obligatoire" il previent que ce champs est manquant mais laisse mon script s'executer quand meme, je vois pas comment empéché ca.
Merci
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 16 févr. 2005 à 16:39
Suite au modifification que je viens de mettre en ligne je vous suggère de regarder la grammaire détaillé pour avoir la liste exaustive de ce que l'on peut faire.
cs_saturnino
Messages postés15Date d'inscriptionsamedi 3 mai 2003StatutMembreDernière intervention 4 septembre 2007 15 févr. 2005 à 18:55
Voilà, je viens de l' implémenter dans mon dév en ajoutant les cas perso dans le switch, j' utiliserais dorénavant cette classe vraiment géniale et vraiment très pratique dans les back-office.
10/10
@+
saturnino
cs_saturnino
Messages postés15Date d'inscriptionsamedi 3 mai 2003StatutMembreDernière intervention 4 septembre 2007 15 févr. 2005 à 14:41
merci
ben en fait je ne m'étais jamais penché sur les regexp
et finalement on fini par comprendre donc j'utilise maintenat des regexp directement dans test pour contrôler mes champs de type nombre.
tout script m'auras fait découvrir la puissance des expressions régulières.
merci
ciao
saturnino
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 15 févr. 2005 à 13:45
J'ai réussi à reproduire le bug. En effet, il y avait un beans qui maintenant corrigé.
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 11 févr. 2005 à 14:33
Utilise les expressions régulières pour tous les types "fantaisiste"
Exemple pour saisir un nombre entier ou décimal tu peux utiliser ceci:
alt="reg!^([0-9]+)|([0-9]+[.][0-9]+)$"
Sinon tu attend la prochaine mouture qui va arriver d'ici peu.
Au programme:
1/ saisie d'un nombre qu'il soit entier ou décimal avec controle des bornes inférieures et supérieures.
Syntaxe :
nbr!nbr>([entier])([separateur]([entier]))(?([numeric])(?([numeric])))
2/ possibilité de faire des unions d'ensemble permettant par exemple de dire que l'on veut un nombre compris entre 0 et 10 ou 25 et 30
Syntaxe :
nbr![format nombre](?[numeric]&[numeric](^[numeric]&[numeric](^...)))
exemple nbr!dc>.2?0&10.2^25&30
A bientôt ;)
cs_saturnino
Messages postés15Date d'inscriptionsamedi 3 mai 2003StatutMembreDernière intervention 4 septembre 2007 11 févr. 2005 à 13:40
Bonjour, et bravo pour le script, quel gain de temps!!!
Cependant,, comment définir un champs de type nombre mais pas strictement entier ou décimal?
merci
rttb
Messages postés290Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention25 avril 2008 12 janv. 2005 à 17:54
Cool les modifs, encore merci
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 12 janv. 2005 à 14:45
si l'idée développée mon script a permis
de voir naitre celui-ci, alors j'en suis
particulièrement satisfait. Il va sûrement
aussi me permettre d'améliorer le mien.
@+
tguerlus
Messages postés43Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention 3 mai 2005 12 janv. 2005 à 10:12
C'est cadeau, il y pas de quoi.
Pour ceux qui voudraient personnaliser le moyen de signaler les erreurs, je leur suggere de bien etudier la classe TValidator.
Il y a 2 méthodes essentielles associées à cette classe.
La fonction TRegExp(type) permet de retourner la syntaxe d'une expression régulière associée à un type donné. Il vous est possible d'enrichir cette fonction avec des types personnels
Exemple:
Ajoutez les lignes suivantes dans le switch de la fonction,
case 'perso':
rep = "^[\\d]{1}[ ]...[\\d]{2}$";break;
Ensuite pour utiliser le type "perso" il suffit d'affecter à l'attribut alt de la balise input l'ordre suivant:
alt="test:perso"
La fonction TError(formulaire,champ,message) est la fonction qui est appelé en cas d'erreur de saisie .
On a à disposition l'objet formulaire, l'objet input correspondant au premier champ qui a une erreur de saisi et le message d'erreur qui regroupe toutes les erreurs trouvées. Vous pouvez ainsi redéfinir cette fonction pour effectuer ce que vous voulez comme un effet visuel, tels que changer la couleur de(s) la case(s) en cas d'erreur.
Enfin, il faut bien etudier la grammaire.
La syntaxe est du type (type:valeur). Pour type on peut avoir :
- nom qui correspond a un libellé qui indique le nom du champ. On peut ainsi personnaliser le message d'erreur, car si nom est défini, on ne trouve plus "Champ(xx)" mais le libellé du type nom.(optionnel)
- obligatoire qui correspond à l'information champ obligatoire. Par défaut un champ n'est pas obligatoire.(optionnel)
- erreur qui correspond au message d'erreur personnalisé. Ainsi, au lieu d'avoir "Le Champ(xx) est invalide" vous avez le message associé.(optionnel)
- test qui correspond au test à effectuer, pour connaitre la syntaxe des tests possible reportez vous à la grammaire.
rttb
Messages postés290Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention25 avril 2008 11 janv. 2005 à 20:13
c'est cool et complet, il y a un oublis (j'ai pas regarde la source) si tu te trompe sur le dernier, il met champ(23) comme nom.
Si tu peux rajouter, un effet visuel, tels que changer la couleur de(s) la case(s) en cas d'erreur, j'achete ton code.
(pour pas cher j'espere)
29 sept. 2011 à 11:32
29 sept. 2011 à 10:45
20 juil. 2006 à 14:55
C'est vrai cela semble supper, mais quid pour les saisies dans des champs type "textarea" ou "select".
"alt" n'existe pas dans ces cas là.
Comment positionne-t-on le contrôle ?
Merci
20 déc. 2005 à 18:58
26 août 2005 à 16:54
3 mars 2005 à 10:17
2 mars 2005 à 16:20
il me faudrai une solution intermediaire ;)
Mathieu
2 mars 2005 à 13:56
A+
TG
2 mars 2005 à 12:53
Merci a toi
Mathieu
2 mars 2005 à 12:48
<FORM class="p2_form" name="produitForm" method="post" enctype="multipart-form-data"
action="<?php echo $_SERVER['PHP_SELF']?> ">
<TABLE border=0>
<tr align="center"><?php echo $produit->titre(); ?>
</tr>
<TR>
<TD class="label">Nom</TD>
<TD>nom ; ?>" alt="nom :nom; obligatoire:true"></TD>
</TR>
<TD>bouton(); ?>" onclick="javascript:Validator.Submit(document.produitForm,'test()');"></TD>
il medit que le champs est manquant mais execute ma fonction d'enregistrement du formulaire.
cela ne viens surement pas de ta source, mais si tu vois quel est le probleme ca me sauverai pas mal.
Merci
2 mars 2005 à 12:47
<FORM class="p2_form" name="produitForm" method="post" enctype="multipart-form-data"
action="<?php echo $_SERVER['PHP_SELF']?> ">
<TABLE border=0>
<tr align="center"><?php echo $produit->titre(); ?>
</tr>
<TR>
<TD class="label">Nom</TD>
<TD>nom ; ?>" alt="nom :nom; obligatoire:true"></TD>
</TR>
<TD>bouton(); ?>" onclick="javascript:Validator.Submit(document.produitForm,'test()');"></TD>
il medit que le champs est manquant mais execute ma fonction d'enregistrement du formulaire.
cela ne viens surement pas de ta source, mais si tu vois quel est le probleme ca me sauverai pas mal.
Merci
2 mars 2005 à 09:35
A+
1 mars 2005 à 18:58
jai un soucie... quand je test un champs "obligatoire" il previent que ce champs est manquant mais laisse mon script s'executer quand meme, je vois pas comment empéché ca.
Merci
16 févr. 2005 à 16:39
15 févr. 2005 à 18:55
10/10
@+
saturnino
15 févr. 2005 à 14:41
ben en fait je ne m'étais jamais penché sur les regexp
et finalement on fini par comprendre donc j'utilise maintenat des regexp directement dans test pour contrôler mes champs de type nombre.
tout script m'auras fait découvrir la puissance des expressions régulières.
merci
ciao
saturnino
15 févr. 2005 à 13:45
Je met en ligne le correctif tout de suite.
Sinon voici un lien sur un tutorial sur les expressions regulieres en javascript:
http://www.asp-php.net/tutorial/scripting/regexp.php
Ca peut être utile.
N'hésite pas si tu as un autre pb.
A+
15 févr. 2005 à 11:59
bon en fait j'ai trouvé : en faisant un test sur le contenu du champs çà marche.
alt="test:reg!^([0-9]+)|([a-z]+)|([A-Z]+)|([0-9]+[.][0-9]+)$;obligatoire:true"
@+
saturnino
15 févr. 2005 à 11:15
cependant, j'ai bug à l'attribution de champs obligatoire au sein d'une boucle.
me pose problème, en effet, le script me retourne toujours "champs invalide" à partir du deuxième champs trouvé de ce type même si je les rempli...
Aurais-tu une idée? merci encore
for( $i = 0 ; $i < $_POST['nbrLots'] ; $i++){
$num = $i+1;
$form .= '<tr onMouseOver="this.style.backgroundColor=\'#ccccff\'" onMouseOut="this.style.backgroundColor=\'\'">
<td>'.$num.'</td>
<td class="trait_G"></td>
<td></td>
<td></td>
<td></td>
<td class="trait_G"></td>
<td class="trait_G"></td>
<td></td>
<td></td>
<td class="trait_G"></td>
<td></td>
<td class="trait_G"></td>
<td class="trait_G"></td>
<td class="trait_D"></td>
</tr>';
}
11 févr. 2005 à 14:33
Exemple pour saisir un nombre entier ou décimal tu peux utiliser ceci:
alt="reg!^([0-9]+)|([0-9]+[.][0-9]+)$"
Sinon tu attend la prochaine mouture qui va arriver d'ici peu.
Au programme:
1/ saisie d'un nombre qu'il soit entier ou décimal avec controle des bornes inférieures et supérieures.
Syntaxe :
nbr!nbr>([entier])([separateur]([entier]))(?([numeric])(?([numeric])))
2/ possibilité de faire des unions d'ensemble permettant par exemple de dire que l'on veut un nombre compris entre 0 et 10 ou 25 et 30
Syntaxe :
nbr![format nombre](?[numeric]&[numeric](^[numeric]&[numeric](^...)))
exemple nbr!dc>.2?0&10.2^25&30
A bientôt ;)
11 févr. 2005 à 13:40
Cependant,, comment définir un champs de type nombre mais pas strictement entier ou décimal?
merci
12 janv. 2005 à 17:54
12 janv. 2005 à 14:45
de voir naitre celui-ci, alors j'en suis
particulièrement satisfait. Il va sûrement
aussi me permettre d'améliorer le mien.
@+
12 janv. 2005 à 10:12
Pour ceux qui voudraient personnaliser le moyen de signaler les erreurs, je leur suggere de bien etudier la classe TValidator.
Il y a 2 méthodes essentielles associées à cette classe.
La fonction TRegExp(type) permet de retourner la syntaxe d'une expression régulière associée à un type donné. Il vous est possible d'enrichir cette fonction avec des types personnels
Exemple:
Ajoutez les lignes suivantes dans le switch de la fonction,
case 'perso':
rep = "^[\\d]{1}[ ]...[\\d]{2}$";break;
Ensuite pour utiliser le type "perso" il suffit d'affecter à l'attribut alt de la balise input l'ordre suivant:
alt="test:perso"
La fonction TError(formulaire,champ,message) est la fonction qui est appelé en cas d'erreur de saisie .
On a à disposition l'objet formulaire, l'objet input correspondant au premier champ qui a une erreur de saisi et le message d'erreur qui regroupe toutes les erreurs trouvées. Vous pouvez ainsi redéfinir cette fonction pour effectuer ce que vous voulez comme un effet visuel, tels que changer la couleur de(s) la case(s) en cas d'erreur.
Enfin, il faut bien etudier la grammaire.
La syntaxe est du type (type:valeur). Pour type on peut avoir :
- nom qui correspond a un libellé qui indique le nom du champ. On peut ainsi personnaliser le message d'erreur, car si nom est défini, on ne trouve plus "Champ(xx)" mais le libellé du type nom.(optionnel)
- obligatoire qui correspond à l'information champ obligatoire. Par défaut un champ n'est pas obligatoire.(optionnel)
- erreur qui correspond au message d'erreur personnalisé. Ainsi, au lieu d'avoir "Le Champ(xx) est invalide" vous avez le message associé.(optionnel)
- test qui correspond au test à effectuer, pour connaitre la syntaxe des tests possible reportez vous à la grammaire.
11 janv. 2005 à 20:13
Si tu peux rajouter, un effet visuel, tels que changer la couleur de(s) la case(s) en cas d'erreur, j'achete ton code.
(pour pas cher j'espere)
Merci pour cette source, tres utile.