Vérification de champ

Fermé
AMARI - 26 févr. 2013 à 10:36
 AMARI - 26 févr. 2013 à 13:12
Bonjour,
j'ai mon code javascript pour vérifier les champs du formulaire mais quand j'ai clique sur le bouton envoyé il y a aucune vérification du champs :( , quelqu'un peux m'aider de trouver ou se trouve les erreurs dans mon code merci .
voilà mon code js :


function verif(formulaire)
{
if (document.formulaire.login.value == "")
{
alert ('Veuillez entrer votre Login');
document.formulaire.login.focus();
return false;
}
//verification que le login saisi soit > 4, sinon msg d'erreur
if(login.length < 4 )
{
alert("Vous devez saisir au moins 4 caracteres.");
document.formulaire.login.focus();
return false;
}

if (document.formulaire.pass.value == document.formulaire.pass2.value)
{
// verification que le champs pass ne soit pas vide, sinon msg d'erreur
if (document.formulaire.pass.value == "")
{
alert ('Veuillez entrer votre Mot de passe');
else {
alert ('Les mots de passe que vous avez entré ne sont pas identiques');
}
return false;
}}
//verification que le mot de passe saisi soit > 6, sinon msg d'erreur
if(pass.length < 6 )
{
alert("Vous devez saisir au moins 6 caracteres.");
document.formulaire.pass.focus();
return false;
}
// verification que le champs nom ne soit pas vide, sinon msg d'erreur
if (document.formulaire.nom.value == "")
{
alert ('Veuillez entrer votre Nom');
document.formulaire.nom.focus();
return false;
}
// verification que le champs prénom ne soit pas vide, sinon msg d'erreur
if (document.formulaire.prenom.value == "")
{
alert ('Veuillez entrer le Prénom');
document.formulaire.prenom.focus();
return false;
}
// verification que le champs email ne soit pas vide, sinon msg d'erreur
if(document.formulaire.mail.value == "")
{
alert ("Veuillez entrer votre Adresse electronique !");
document.formulaire.mail.focus();
return false;
}
// vérification de saisie d'email au bon format
if (mail.value.search(/^[_a-z0-9-]+(.[_a-z0-9-]+)*[^._-]@[a-z0-9-]+(.[a-z0-9]{2,4})*$/) == -1)
{
alert ("Veuillez entrez une adresse Email valide !");
document.formulaire.email.focus();
return false;
}
// verification que le champs Pays ne soit pas vide, sinon msg d'erreur
if(document.formulaire.Pays.value == "")
{
alert ('Veuillez entrer Votre Pays');
document.formulaire.Pays.focus();
return false;
}
else
{
if(window.document.all('flag').innerHTML="false"){
return false;
}else{
return true;
}
}

}

9 réponses

roptat Messages postés 275 Date d'inscription samedi 20 octobre 2012 Statut Membre Dernière intervention 26 juillet 2013 77
26 févr. 2013 à 11:23
D'abord, pour faire ça, il faut mettre un onsubmit dans la balise form associée. Ensuite, la fonction n'est pas sensée recevoir d'argument (rajoute un
var formulaire = document.getElementById("monForm")
et l'attribut id sur le form associé). Puis, remplace les « document.formulaire » par « formulaire ». Enfin, la vérification par javascript, c'est au niveau du client, donc ne t'y fie pas trop (le client peut facilement désactiver javascript et passer outre).
0
merci pour ta réponse , j'ai rajouté la ligne de code que tu m'a envoyé et pour onSubmit elle existe déjà dans la page de formulaire , mais rien ni changé :(, pourquoi tu m'a demandé de changer document.formulaire par formulaire tout court ?
0
roptat Messages postés 275 Date d'inscription samedi 20 octobre 2012 Statut Membre Dernière intervention 26 juillet 2013 77
26 févr. 2013 à 11:41
parce que document est un objet qui ne contient pas de champ formulaire. Tu veux agir sur formulaire (l'objet retourné par getElementById) et non undefined (renvoyé par document.formulaire).
0
ok merci je vais essayé de modifier encore le code , espérant qu'il va fonctionner
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
toujours ça marche pas :(((((
voilà le code:
function verif(formulaire)
{ var formulaire = document.getElementById("monForm")
if (formulaire.login.value == "")
{
alert ('Veuillez entrer votre Login');
formulaire.login.focus();
return false;
}
//verification que le login saisi soit > 4, sinon msg d'erreur
if(login.length < 4 )
{
alert("Vous devez saisir au moins 4 caracteres.");
formulaire.login.focus();
return false;
}

if (formulaire.pass.value == document.formulaire.pass2.value)
{
// verification que le champs pass ne soit pas vide, sinon msg d'erreur
if (formulaire.pass.value == "")
{
alert ('Veuillez entrer votre Mot de passe');
else {
alert ('Les mots de passe que vous avez entré ne sont pas identiques');
}
return false;
}}
//verification que le mot de passe saisi soit > 6, sinon msg d'erreur
if(pass.length < 6 )
{
alert("Vous devez saisir au moins 6 caracteres.");
formulaire.pass.focus();
return false;
}
// verification que le champs nom ne soit pas vide, sinon msg d'erreur
if (formulaire.nom.value == "")
{
alert ('Veuillez entrer votre Nom');
formulaire.nom.focus();
return false;
}
// verification que le champs prénom ne soit pas vide, sinon msg d'erreur
if (formulaire.prenom.value == "")
{
alert ('Veuillez entrer le Prénom');
formulaire.prenom.focus();
return false;
}
// verification que le champs email ne soit pas vide, sinon msg d'erreur
if(formulaire.mail.value == "")
{
alert ("Veuillez entrer votre Adresse electronique !");
formulaire.mail.focus();
return false;
}
// vérification de saisie d'email au bon format
if (mail.value.search(/^[_a-z0-9-]+(.[_a-z0-9-]+)*[^._-]@[a-z0-9-]+(.[a-z0-9]{2,4})*$/) == -1)
{
alert ("Veuillez entrez une adresse Email valide !");
formulaire.email.focus();
return false;
}
// verification que le champs Pays ne soit pas vide, sinon msg d'erreur
if(formulaire.Pays.value == "")
{
alert ('Veuillez entrer Votre Pays');
formulaire.Pays.focus();
return false;
}
else
{
if(window.document.all('flag').innerHTML="false"){
return false;
}else{
return true;
}
}

}
0
roptat Messages postés 275 Date d'inscription samedi 20 octobre 2012 Statut Membre Dernière intervention 26 juillet 2013 77
Modifié par roptat le 26/02/2013 à 11:51
if (formulaire.pass.value == document.formulaire.pass2.value) 
{ 
  // verification que le champs pass ne soit pas vide, sinon msg d'erreur 
  if (formulaire.pass.value == "") 
  { 
    alert ('Veuillez entrer votre Mot de passe'); 
    else { 
      alert ('Les mots de passe que vous avez entrés ne sont pas identiques'); 
    } 
    return false; 
  } 
} 

bizarre ce else sans if avant... :)
0
j'ai fait else dans le cas si le champs n'est pas vide alors le 2 mots de passe ne sont pas identique , tu pense quoi ?? comment je peux faire la vérification de 2 mots de passe ??
0
roptat Messages postés 275 Date d'inscription samedi 20 octobre 2012 Statut Membre Dernière intervention 26 juillet 2013 77
26 févr. 2013 à 12:18
le problème, c'est (entre autre) ce else qui traine on ne sait où (d'où l'utilité de l'indentation pour bien voir qu'il ne correspond à aucune alternative...)
if (formulaire.pass.value == document.formulaire.pass2.value) 
{ 
  // verification que le champs pass ne soit pas vide, sinon msg d'erreur 
  if (formulaire.pass.value == "") 
  { 
    alert ('Veuillez entrer votre Mot de passe');
    return false; 
  }
} else {
  alert ('Les mots de passe que vous avez entrés ne sont pas identiques'); 
  return false;
}

Au fait, formulaire.pass, c'est valide ? Tu devrais utiliser les outils de débogage de ton navigateur.
0
merci pour ta réponse je vais essayer de modifier le code
0