UN SEUL ALERT POUR TOUTES LES ERREURS DE VALIDATION D'UN FORMULAIRE.

Optitech Messages postés 134 Date d'inscription samedi 19 octobre 2002 Statut Membre Dernière intervention 3 janvier 2009 - 6 août 2004 à 12:06
maxprog Messages postés 10 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 25 octobre 2005 - 7 juin 2005 à 20:17
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/25193-un-seul-alert-pour-toutes-les-erreurs-de-validation-d-un-formulaire

maxprog Messages postés 10 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 25 octobre 2005
7 juin 2005 à 20:17
mon problème est réglé je n'avais pas vue le onSubmit="return(validation())
maxprog Messages postés 10 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 25 octobre 2005
7 juin 2005 à 19:54
J'ai un problème avec cette source. Je suis incappable de retracer mes données après avoir fait mon submit

merci
diduss Messages postés 6 Date d'inscription mercredi 26 janvier 2005 Statut Membre Dernière intervention 31 mai 2005
31 mai 2005 à 00:14
Le second code, plus complet est aussi plus précis, bravo à tous les deux, le premier pour l'idée et le début de solution, le second pour sa précision.

merci pour toutes vos propositions
Optitech Messages postés 134 Date d'inscription samedi 19 octobre 2002 Statut Membre Dernière intervention 3 janvier 2009
6 août 2004 à 12:06
C'est une bonne idée de mettre tout les problème dans une même alert !

Mais je trouve que ton code est compliqué. Tu enregistre tout les problèem dans des variable différentes et après tu les rassembles dans l'alert.

Voila ce que je te propose pour s'implifier ton code :

<html>
<head>
<title>Inscription</title>
</head>



<script language="javascript">
<!--
function verif(){

var a = document.inscription.nom.value;
var b = document.inscription.prenom.value;
var c = document.inscription.pseudo.value;
var d = document.inscription.pass.value;
var e = document.inscription.pass2.value;
var f = document.inscription.mail.value;
var erreur=0;
var msg ="";
var verif = /^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$/ // Pour verifier le format de l'adresse email

document.inscription.valide.value ="Patientez SVP..."; // Change le text du boutton de validation

if (a == "") { // Verifie que le champ nom n'est pas vide
msg += "- Vous avez oublié de mettre votre nom.\n"; // Si le champ est vide on ajout ce message à la var msg sans efface ce qu'il y avait d'écrit avant
erreur++; // et +1 à la var erreur
}

if (b == "") { // Verifie que le champ prenom n'est pas vide
msg += "- Vous avez oublié de mettre votre prénom.\n"; // Si le champ est vide on ajout ce message à la var msg sans efface ce qu'il y avait d'écrit avant
erreur++; // et +1 à la var erreur
}

if (c == "") { // Verifie que le champ pseudo n'est pas vide
msg += "- Vous avez pas choisi de pseudo.\n"; // Si le champ est vide on ajout ce message à la var msg sans efface ce qu'il y avait d'écrit avant
erreur++; // et +1 à la var erreur
}

if (d == "") { // Verifie que le champ pass n'est pas vide
msg +="- Vous avez oublié de mettre un mot de passe.\n"; // Si le champ est vide on ajout ce message à la var msg sans efface ce qu'il y avait d'écrit avant
erreur++; // et +1 à la var erreur
}

if (e == "") { // Verifie que le champ pass2 n'est pas vide
msg += "- Vous devez resaisir votre not de passe.\n"; // Si le champ est vide on ajout ce message à la var msg sans efface ce qu'il y avait d'écrit avant
erreur++; // et +1 à la var erreur
}else{
if (d != e){ // Verifie si le champ pass et pass2 on la même chose
msg += "- Vous n'avez pas saisis deux fois le même mot de passe.\n"; // Si le champ est vide on ajout ce message à la var msg sans efface ce qu'il y avait d'écrit avant
erreur++; // et +1 à la var erreur
}
}

if(f==""){ // Verifie que le champ mail n'est pas vide
msg += "- Vous n'avez pas mit d'adresse email.\n"; // Si le champ est vide on ajout ce message à la var msg sans efface ce qu'il y avait d'écrit avant
erreur++; // et +1 à la var erreur
}else{ // sinon
if (verif.exec(f) == null){ // Verifie le format de l'adresse email
msg += "- Le format de votre adresse e-mail est incorect.\n"; // Si le champ est vide on ajout ce message à la var msg sans efface ce qu'il y avait d'écrit avant
erreur++; // et +1 à la var erreur
}

}
if (erreur ==0){ // Verifie que la var erreur == 0
document.inscription.submit(); // Valide le formulaire
}else{
alert(msg); // Sinon affiche le ou les message d'erreurs
}
document.inscription.valide.value ="Valider"; // Change le text du boutton de validation
}
//-->
</script>
<form method="POST" action="valide.php" name="inscription">
Votre nom :*
Votre vrai nom

Votre prénom :*
Votre vrai prénom

<hr>Votre Pseudo :*
Choissisez un Pseudo

Votre mot de passe :*
Votre mot de passe

Resaisissez votre mot de passe :*
De nouveau votre mot de passe

Votre adresse e-mail :*
Votre adresse e-mail

<hr><center> </center>
</form>

</html>

Bien sûr il ne corespond pas a ton fomulaire ! Mais regarde le javascript. J'enregistre totu els message d'erreur dans une seulle variable et je n'efface pas la varraible à chque fois.

Bonne programation !