Vérification de champ

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

  1. 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
    1. 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
      1. 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
        1. ok merci je vais essayé de modifier encore le code , espérant qu'il va fonctionner
          0
          1. 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
            1. 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
              1. 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
                1. 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
                  1. merci pour ta réponse je vais essayer de modifier le code
                    0