tu souhaites pouvoir les vérifier lors du traitement ou avant la soumission du formulaire ?
Il faut savoir qu'une vérification en Javascript n'est pas très fiable dans la mesure ou sur ton navigateur tu peux facilement désactiver javascript.
Cela dit, pour le visiteur c'est plus intéressant, car s'il est mal rempli, le formulaire n'est pas envoyé.
Je te proposes plusieurs petites fonction pour vérifier ton formulaire, à toi de les adapter et d'en créer une pour chaque champs que tu estimera nécessaire d'être vérifier.
donc pour reprendre voila ce que tu obtiendras:
des fonctions qui doivent, en plus de colorer le champ, renvoyer true si c'est bon, et false si ça ne l'est pas.
Je te donnes un exemple pour verifier un peseudo.
[javascript]<script language="JavaScript">
function verifPseudo(champ)
{
if(champ.value.length < 2 || champ.value.length > 10)
{
surligne(champ, true);
return false;
}
else
{
surligne(champ, false);
return true;
}
}
</script>[/javascript]
Ici tu vérifie tout simplement qu'une chaine de caractère fait au minimum 2 caractères et au maximum 10 caractères.
A toi d'adapter cette fonction, en fonction de tes desiderata, cette fonction servira a verifier la longueur d'une chaîne de caractères.
voila comment tu peux appeler cette fonction dans un champs
<input type="text" name="pseudo" onblur="verifPseudo(this)" />
Pour vérifier une adresse mail c'est exactement la même chose que précédement, seul la condition de ta fonction va changer et ceux en fonction de la regex que tu utilises:
la méthode test(str) pour testeter la chaine de caractère utilisera la regex ci dessous pour verifier que l'adresse mail remplie satisfasse bien les conditions requises:
[javascript]
<script language="JavaScript">
function verifMail(champ)
{
var regex = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
if(!regex.test(champ.value))
{
surligne(champ, true);
return false;
}
else
{
surligne(champ, false);
return true;
}
}
</script>
[/javascript]
pour appeler cette fonction pareil que pour le champ pseudo:
<input type="text" name="email" size="30" onblur="verifMail(this)" />
le onblur permet d'exécuter la fonction lorsque le champ n'a plus le focus.
Après tu dois créer une fonction qui englobe tout le reste et qui vérifie que tous les champs ont été correctement vérifiés:
voila ce que cela donne avec les deux exemples ci-dessus:
[javascript]
<script language="JavaScript">
function verifForm(f)
{
var pseudoOk = verifPseudo(f.pseudo);
var mailOk = verifMail(f.email);
if(pseudoOk && mailOk )
return true;
else
{
alert("Veuillez remplir correctement tous les champs");
return false;
}
}
</script>
[/javascript]
Bien entendu tu dois l'adapter avec tes champs.
et pour finir, pour bloquer l'envoie si le formulaire est mal rempli, tu devras ajouter une clause dans
la balise form qui est onsubmit, voici un exemple, tu peux l'adapter (je n'ai pas mis la méthode ni rien, a toi
de l'adapter, c'est juste pour que tu vois).
<form action="tapagedetraitement.php" onsubmit="return verifForm(this)">
Ca c'est pour la page mère qui contient ton formulaire,
maintenant côté server c'est tout autre chose.
Tu devras impérativement vérifier tes données côté server avant le traitement du formulaire.
car cela t'évitera bien des mauvaises surprises, comme des messages du genre undefined $var, etc...
donc à toi de jouer après avec les conditions if isset, if empty etc... et de tout adapter à tes champs pour le traitement côté server,
et tu dois vérifier chaque variable.
si tu as d'autres questions n'hésites pas.
tu souhaites pouvoir les vérifier lors du traitement ou avant la soumission du formulaire ?
Il faut savoir qu'une vérification en Javascript n'est pas très fiable dans la mesure ou sur ton navigateur tu peux facilement désactiver javascript.
Cela dit, pour le visiteur c'est plus intéressant, car s'il est mal rempli, le formulaire n'est pas envoyé.
Je te proposes plusieurs petites fonction pour vérifier ton formulaire, à toi de les adapter et d'en créer une pour chaque champs que tu estimera nécessaire d'être vérifier.
donc pour reprendre voila ce que tu obtiendras:
des fonctions qui doivent, en plus de colorer le champ, renvoyer true si c'est bon, et false si ça ne l'est pas.
Je te donnes un exemple pour verifier un peseudo.
[javascript]<script language="JavaScript">
function verifPseudo(champ)
{
if(champ.value.length < 2 || champ.value.length > 10)
{
surligne(champ, true);
return false;
}
else
{
surligne(champ, false);
return true;
}
}
</script>[/javascript]
Ici tu vérifie tout simplement qu'une chaine de caractère fait au minimum 2 caractères et au maximum 10 caractères.
A toi d'adapter cette fonction, en fonction de tes desiderata, cette fonction servira a verifier la longueur d'une chaîne de caractères.
voila comment tu peux appeler cette fonction dans un champs [html]<input type="text" name="pseudo" onblur="verifPseudo(this)" />[/html]
Pour vérifier une adresse mail c'est exactement la même chose que précédement, seul la condition de ta fonction va changer et ceux en fonction de la regex que tu utilises:
la méthode test(str) pour testeter la chaine de caractère utilisera la regex ci dessous pour verifier que l'adresse mail remplie satisfasse bien les conditions requises:
[javascript]
<script language="JavaScript">
function verifMail(champ)
{
var regex = /^[a-zA-Z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
if(!regex.test(champ.value))
{
surligne(champ, true);
return false;
}
else
{
surligne(champ, false);
return true;
}
}
</script>
[/javascript]
pour appeler cette fonction pareil que pour le champ pseudo:
[html]<input type="text" name="email" size="30" onblur="verifMail(this)" />[/html]
le onblur permet d'exécuter la fonction lorsque le champ n'a plus le focus.
Après tu dois créer une fonction qui englobe tout le reste et qui vérifie que tous les champs ont été correctement vérifiés:
voila ce que cela donne avec les deux exemples ci-dessus:
[javascript]
<script language="JavaScript">
function verifForm(f)
{
var pseudoOk = verifPseudo(f.pseudo);
var mailOk = verifMail(f.email);
if(pseudoOk && mailOk )
return true;
else
{
alert("Veuillez remplir correctement tous les champs");
return false;
}
}
</script>
[/javascript]
Bien entendu tu dois l'adapter avec tes champs.
et pour finir, pour bloquer l'envoie si le formulaire est mal rempli, tu devras ajouter une clause dans
la balise form qui est onsubmit, voici un exemple, tu peux l'adapter (je n'ai pas mis la méthode ni rien, a toi
de l'adapter, c'est juste pour que tu vois).
[html]<form action="tapagedetraitement.php" onsubmit="return verifForm(this)">[/html]
Ca c'est pour la page mère qui contient ton formulaire,
maintenant côté server c'est tout autre chose.
Tu devras impérativement vérifier tes données côté server avant le traitement du formulaire.
car cela t'évitera bien des mauvaises surprises, comme des messages du genre undefined $var, etc...
donc à toi de jouer après avec les conditions if isset, if empty etc... et de tout adapter à tes champs pour le traitement côté server,
et tu dois vérifier chaque variable.
si tu as d'autres questions n'hésites pas.