un seul alert pour toutes les erreurs de validation d'un formulaire.

Contenu du snippet

J'étatit en train de concevoir un site web ASP, qunad j'ai rencontré un problème de besoin d'un seul "alert" pour toutes les erreurs générées par la validation d'un formulaire de contact, en fait, c'était un nombre de problème, comment éviter d'ouvrir une nouvelle fenêtre de confirmation si le formulaire n'est pas bien rempli.

Même si le code semble simple mais j'avais pensé tellement à beaucoup de solutions que j'ai enfin testé celle-là qu'à parfaitement fonctionné avec moi dans un environnement: Windows XP - Internet Explorer 6.

Source / Exemple :


<html>	
<head>
<title>ajout</title>   
<meta name="generator" content="Namo WebEditor v5.0">
<script language="javascript"><!--

/*********************************************************************************** 

  • *
  • Ce code est gratuit d'utilisation et de distribution sous réserve *
  • de ne pas supprimer ces commentaires: *
  • Auteur: Farid email: sidoummoudz@yahoo.fr SteWeb: http://faridz.united.net.kg *
  • *
                                                                                                                                                                      • /
function ouvrir(){ //Cette fonction sera appelée plutard lafenetre=window.open("verifier.asp","lafenetre","height=300,width=550,scrollbars") } function validation (){ var lenom = document.all("nom").value; if (lenom == "") // Si le champ nom est vide { ecrire1="- Le champ nom doit être rempli"; // Dans l'alert on note } else // sinon { ecrire1="-------------------------------------------"; // à sa place pour éviter le vide } tele=document.all("tel").value; if (isNaN(tele)) // Si on viole la règle stricte des chiffres seulement { ecrire2="- Le champ téléphone ne doit comporter que des chiffres"; // Dans l'alert on note } else //Sinon { ecrire2="-------------------------------------------"; à sa place pour éviter le vide } capacite=document.laforma.message.value.length; if (capacite>255) //Si le nombre de caractère autorisé est dépassé (ici 255) { ecrire3="- Dépassement non autorisé de limite de 255 caractères car vous avez tapé:" +capacite+" caractères" } else //sinon { ecrire3="-------------------------------------------"; à sa place pour éviter le vide } if (capacite==0) //Si le champ message est vide (nombre de caractère 0) { ecrire4="- Le champ message ne doit pas rester vide" // Dans l'alert on note } else //sinon { ecrire4="-------------------------------------------"; // à sa place pour éviter le vide } /* Il est très important de souligner que vous devez écrire la même chose après les opérateurs que vous avez précédemment fait, par xemple si vous avez écrit pour le champ nom: ecrire1=""; dans ce cas vous écrivez pour ce-que suit: if (ecrire1!="" || etc.... alors imaginez si la faute est située enfin d'un formulaire composé de 10 champs ou plus, cela signifie que vous aurez un alert long plein de vide et qui pas vraiment joli*/ if (ecrire1!="-------------------------------------------" || ecrire2!="-------------------------------------------" || ecrire3!="-------------------------------------------" || ecrire4!="-------------------------------------------") // Si un seul cahmp est mal rempli{ // Je vous conseil aussi de ne pas sauter plus de ligne et juste aller à la ligne, c'est à dire ne pas mettre dans l'alert suivant \n\n ou plus mais juste \n comme mon éxemple. alert ("Veuillez réparer les fautes suivantes: \n\n"+ecrire1+"\n"+ecrire2+"\n"+ecrire3+"\n"+ecrire4) return false } else{ // Si le formulaire est bien complété ouvrir() /* on appele la fonction qui ouvrira une nouvelle fenêtre de confirmation de reception des données */ } } //Fin du script--></script> </head> <body > <center> <!-- le nom après target c'est le nom de la fêntre qui est la cible de la page de vérification qui nous transporte vers la page de confirmation ensuite en asp, php ou autre langage dynamique --> <form name="laforma" method="post" action="verifier.asp" onSubmit="return(validation())" TARGET="lafenetre" > <p align="center">Nom: <input type="text" name="nom"></center> <p align="center">Tel: <input type="text" name="tel">&nbsp;optionnel</p> <p align="center">Message: <textarea name="message" rows="5" cols="28"></textarea></p> <p align="center"><input type="submit" value="Envoyer" name="envoyer" > <input type="reset" value="Effacer" name="BClear"> </p> </form> <center> </body> </html>

Conclusion :


J'espère pouvroir réaliser un code plus efficace, car cela pour le moment c'est pour me débrouiler, et de toute façon merci de m'avertir si vous l'appréciez.

e-mail : sidoummoudz@yahoo.fr

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.