PHPAscal
Accueil Programmation web Optimisation Liens Fonctionnement du site À propos de l'auteur Plan du site
Programmation web CSS HTML PHP Javascript RSS SQL SSH, serveur linux Outils
  PHPascal a 78 articles


Recherche



Modifier la couleur:



Valid XHTML 1.0 Transitional

CSS Valide !

Programmation web / Javascript / code validation formulaire js

Code javascript pour valider un formulaire

Voici le code source javascript d'une validation de formulaire dans un fichier externe (.js). Pour plus d'explication sur l'utilisation voir l'article : Validation d'un formulaire.

Pour utiliser cette validation il suffit d'ajouter ce javascript externe avec la ligne :
  • <script  type="text/javascript" src="validation.js"   charset="iso-8859-1" ></script>
et ajouter l'option 'onSubmit="return validForm(this)"' a la balise <form> de votre formulaire. Exemple :
  • <form action=page.php method=post name=formulaire onSubmit="return validation(this,'fr')">
(l'ajout du charset pour l'appel du script est facultatif si la page et le script on le même encodage, par contre ceci est util pour faire marcher un script qui a un autre encodage que sur la page)

j'ai mis dans ce script un try et catch pour afficher des erreur qui pourrais survenir pour aidé le débogage.

Ce script est fait pour marcher en 2 langue: français et anglais.

Code source du fichier validation.js :


function validation(passForm,lang)
{
    try
    {
 
    var nb_erreur =0;
  
    var fra = "";
    var eng = "";
  
    var  fra_debut = "_____________________________________________________________\n\n";
                fra_debut += "Le formulaire n\'a pas été envoyé. Vous devez remplir tous les champs\n";
                fra_debut += "obligatoires, veuillez corriger et envoyer de nouveau le formulaire. Merci!\n";
                fra_debut += "_____________________________________________________________\n\n";
       
               
       var  eng_debut = "_____________________________________________________________\n\n";
                eng_debut += "The form has not been sent. You must fill in all the required fields,\n";
                eng_debut += "please correct and resubmit the form. Thank you!\n";
                eng_debut += "_____________________________________________________________\n\n";

               
    /* valider un champ si vide */
    if (passForm.nom.value == "")
    {
        nb_erreur++;
        fra += "          Nom\n";
        eng += "          Name\n";
        passForm.nom.className = 'input_style input_erreur';
    }
    else {  passForm.nom.className = 'input_style';   }
       
       
     /* validation d'un courriel */
   if (passForm.courriel.value == "")
    {
        nb_erreur++;
        fra += "          Courriel\n";
        eng += "          Email\n";
        passForm.courriel.className = 'input_style input_erreur';
    }
    /* champ courriel rempli, on test maintenant si courriel valide */
    else
        {
        /* test si un format valide de courriel */
        if ((passForm.courriel.value.lastIndexOf(".") < passForm.courriel.value.indexOf("@")+3
                    || passForm.courriel.value.lastIndexOf(".") > passForm.courriel.value.length-3
                    || passForm.courriel.value.indexOf("@") < 1 ) || passForm.courriel.value.length < 3
                    || passForm.courriel.value.indexOf("@") != passForm.courriel.value.lastIndexOf("@")   )
        {  /* format invalide de courriel */
            nb_erreur++;
            fra += "          Courriel (assurez-vous d'entrer un format valide moi@hotmail.com) \n";
            eng += "          Email (make sure you enter a valid email adress i.e.: me@hotmail.com)\n";
            passForm.courriel.className = 'input_style input_erreur';
        }
        else
        { /* format valide */
            passForm.courriel.className = 'input_style';
        }
    }
      
             
       
             
    /* cree message d'erreur */
    fra_une = "- Vous devez entrer le champ suivant :\n";
    fra_plusieur = "- Vous devez entrer les champs suivants :\n";
   
    eng_infos = "You must fill this field:\n";
    eng_infos2 = "You must fill in the following fields:\n";
  
    var tout = ""; /* tout le message afficher */
  
    if (lang == 'en')
    {
           tout += eng_debut;
           if (nb_erreur > 1) tout += eng_infos2; else tout += eng_infos;
         tout += eng;
    }
    else
    {
        tout += fra_debut;
        if (nb_erreur > 1) tout += fra_plusieur;      else tout += fra_une;
        tout += fra;
    }
   
     
     
    if (nb_erreur == 0)
    {
        return true;
    }
    else
    {
        alert(tout);  
        return false;
    }
    }
    catch(e)
    {
        alert('Erreur avec la fonction javascripot : validation()\n' + e.message);
    }
}
Article écrit le 4 avril 2009
Article modifié le 13 juillet 2010



Autres articles sous la même catégorie


ADMIN | © PHPascal.com 2009
Temps d'exécution : 0.0062 sec
Fait au Québec