Vérification de champ

AMARI -  
 AMARI -
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 276 Date d'inscription   Statut Membre Dernière intervention   77
 
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
AMARI
 
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 276 Date d'inscription   Statut Membre Dernière intervention   77
 
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
AMARI
 
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
AMARI
 
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 276 Date d'inscription   Statut Membre Dernière intervention   77
 
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
AMARI
 
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 276 Date d'inscription   Statut Membre Dernière intervention   77
 
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
AMARI
 
merci pour ta réponse je vais essayer de modifier le code
0