Le formulaire à inspecter
Rentrons sans plus attendre dans le vif du sujet.
Votre mission, si vous l'acceptez

, empêcher ce formulaire d'être envoyé s'il est mal rempli :
Code : HTML1
2
3
4
5
6
7
8 | <form action="page.php">
<p>
Pseudo : <input type="text" name="pseudo" /><br />
E-mail : <input type="text" name="email" size="30" /><br />
Âge : <input type="text" name="age" size="2" /> ans<br />
<input type="submit" value="Valider" />
</p>
</form>
|
Il est très simple, et si vous savez vérifier un pseudo, une adresse e-mail et un âge, alors le reste ne devrait pas vous poser de souci.
Que faire si le formulaire est mal rempli ?
S'il est mal rempli, en plus de bloquer l'envoi, on va colorer les champs qui posent problème (c'est quand même mieux de dire à l'utilisateur pourquoi le formulaire n'est pas envoyé

).
Pour ce faire, on va modifier la couleur d'arrière-plan. La fonction que nous allons utiliser pour cela est toute bête (pour peu que vous ayez lu le chapitre sur
le CSS en JS) :
Code : JavaScript1
2
3
4
5
6
7 | function surligne(champ, erreur)
{
if(erreur)
champ.style.backgroundColor = "#fba";
else
champ.style.backgroundColor = "";
}
|
Si le second paramètre vaut
true, cette fonction colore le champ en rouge pâle. Sinon, elle enlève le coloriage.
À vous !
Fonctions à créer
Sur ce, à vous de créer :
- une fonction pour vérifier le pseudo (on vérifie juste la longueur : entre 2 et 25 caractères) ;
- une pour l'adresse e-mail (en utilisant de préférence une regex) ;
- une pour l'âge (on va dire qu'il doit être compris entre 5 et 111 ans) ;
- une méga-fonction (à partir des précédentes) qui vérifie tout.
Les trois premières fonctions doivent, en plus de colorer le champ, renvoyer
true si c'est bon, et
false si ça ne l'est pas.
Arguments des fonctions
Mettons-nous d'accord sur les arguments des fonctions.
Disons qu'elles auront chacune un seul paramètre :
- pour les trois premières, ce sera le champ à vérifier ;
- pour la méga-fonction, ce sera le formulaire lui-même.
Quand les appeler ?
Il faut bien sûr appeler la méga-fonction lors de la validation du formulaire, pour en bloquer l'envoi si besoin est.
Mais comme vous aimez les choses bien faites, lorsque l'utilisateur changera de champ, vous allez vérifier que le champ est correctement renseigné.
Au travail, moussaillons !