We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 28173
    • 409 Posts
    et pourtant... il n’y a pas de raison !
    J’ai même enlevé toute notion de "champ obligatoire" ou de vérification de conformité dans le template.

    Lorsque je rempli mon formulaire (avec attention tout de même), lorsque je valide l’envoi, j’ai l’erreur suivante :
    Des erreurs ont été detectées dans le formulaire :

    Lorsque je valide à nouveau le formulaire, sans rien changer, cette fois-ci il part correctement.
    C’est fou hein ? huh

    Si encore le message d’erreur était plus bavard !

    Vous avez déjà rencontré ce problème ?
      • 10828 ☆ A M B ☆
      • 174 Posts
      Je n’ai pas encore rencontré ce problème wink Je te conseille de passe eForm en mode debug (cf. &debug=1) et si cela ne suffit pas de poster ici ton template et ton appel à eForm. ATTENTION, celui-ci doit être en mode "uncached" (cf. [!eForm!]).
        Ackwa - Web Design & Development agency | Tours - France | Follow me on Twitter...
        • 28173
        • 409 Posts
        Bizarre : quand je mets me mode débug, j’ai bien la liste des variable qui s’affiche sous le formulaire, mais qd je valide ce dernier, je reviens à la page d’accueil du site et le formulaire n’est pas envoyé huh

        Sinon l’appel du snippet est bien uncached smiley

        Voici mon appel :
        [!eForm? &debug=`1` &formid=`ContactForm` &subject=`Formulaire de contact` &to=`[email protected]` &tpl=`ContactFormEcole` &report=`ContactFormReportEcole` !]

        Voici le template :
        <p class="error">[+validationmessage+]</p>
         
        <form method="post" action="[~[*id*]~]" id="EmailForm" name="EmailForm">
        	<input name="formid" type="hidden" value="ContactForm" />
        		
        	 <p>
        	  <label for="cfDestinataire">Ce mail concerne</label>
        	  <select name="destinataire" id="cfDestinataire">
        	     <option value="[email protected]">le Secrétariat</option>
        	     <option value="[email protected]">un Contrat de Professionnalisation</option>
                     <option value="[email protected]">les Stages</option>
        	  </select>
        	 </p>
        
        	 <p>
        	  <label for="cfStatut">Vous êtes</label>
        	  <select name="statut" id="cfStatut">
        	   <option  value="un futur élève">un futur élève</option>
        	   <option  value="un professionnel">un professionnel</option>
        	  </select>
        	 </p>
        	
        	 <p>
        	  <label for="cfCivilite">Civilité</label>
        	  <select name="civilite" id="cfCivilite">
        	   <option >Monsieur</option>
        	   <option >Madame</option>
        	   <option >Mademoiselle</option>
        	  </select>
        	 </p>	 
        
        	 <p><label for="cfRaisonSociale">Raison sociale <span>(si pro.)</span></label><input type="text" name="raisonsociale" id="cfRaisonSociale" value="" size="38" /></p>
        	 <p><label for="cfNiveau">Niveau scolaire <span>(si élève)</span></label><input type="text" name="niveau" id="cfNiveau" value="" size="38" /></p>
        	 <p><label for="cfNom">Nom</label><input type="text" class="obligatoire" name="nom" id="cfNom" value="" size="38"  /></p>
        	 <p><label for="cfPrenom">Prénom</label><input type="text" class="obligatoire" name="prenom" id="cfPrenom" value="" size="38" /></p>
        	 <p><label for="cfAdressePostale">Rue/bâtiment</label><input type="text" name="adressepostale" id="cfAdressePostale" value="" size="38" /></p>
        	 <p><label for="cfCodePostale">Code postal</label><input type="text" name="codepostal" id="cfCodePostale" value="" size="10"  /></p>
        	 <p><label for="cfVille">Ville</label><input type="text" name="ville" id="cfVille" value="" size="38" /></p>
        	 <p><label for="cfTelephone">Téléphone</label><input type="text" name="telephone" id="cfTelephone" value=""  size="38"  /></p>
        	 <p><label for="cfEmail">e-Mail</label><input type="text" class="obligatoire" name="email" id="cfEmail" value="" size="38"  /></p>
        	 <p><label for="cfMessage">Message <span>(optionnel)</span></label><textarea name="message" id="cfMessage" cols="33" rows="8" ></textarea></p>	 
        	 <p><input type="submit" name="contact" id="cfContact" class="button" value="Valider le formulaire" /></p>
        
         
        </form>
        


        Soit dit en passant : je n’ai pas bien saisi le rôle de for="cf****" et de id="cf****"
          • 23050
          • 1,842 Posts
          Quote from: Spheerys at Mar 15, 2007, 08:26 AM

          Soit dit en passant : je n’ai pas bien saisi le rôle de for="cf****" et de id="cf****"

          Le for d’un label et le id d’un input ou select (ou tout autre champ de saisie) permettent de créer une relation entre les 2 éléments.
          Ainsi, le label est associé à un champ précis. C’est grâce à ça que, dans certains formulaires, quand tu cliques sur le label, ton curseur est placé dans le champ de saisie ou le bouton est coché. wink

          Cela fait partie des critères à respecter pour fournir un site accessible smiley
            • 28173
            • 409 Posts
            Merci Perrine pour cette explication wink
            Je pensais que c’était spécifique à l’utilisation de eForm.
            j’en apprends tous les jours en matière d’accessibilité smiley
              • 10828 ☆ A M B ☆
              • 174 Posts
              Perinne m’a devancé pour l’explication sur les "id" et sur les "for" wink Par contre, concernant ton formulaire, avant d’aller plus loin, il te faut à minima ajouter des "value" pour le SELECT "civilite"...
                Ackwa - Web Design & Development agency | Tours - France | Follow me on Twitter...
                • 28173
                • 409 Posts
                Effectivement, je sais pas pkoi mais les valeurs du select avaient sauté... bref j’ai corrigé et l’erreur ne se produit plus (ni même le pb lors du mode debug activé) !
                Comme quoi... la rigueur smiley

                Merci du coup d’oeil wink
                  • 28173
                  • 409 Posts
                  J’ai une petite question supplémentaire : j’ai ajouté le code suivant dans mon input du champ e-mail :
                  eform="e-Mail:email:1:Veuillez vérifier votre e-Mail" 

                  L’objectif étant de vérifier si l’email a une forme valide.

                  Ca semble fonctionner puisque j’ai bien une erreur de signalé :
                  Des erreurs ont été detectées dans le formulaire :

                  Mais rien de plus !
                  Je croyais que le 4ème champ du paramètre eform="" servait justement à expliciter le pb en cas d’erreur.
                  N’est-ce pas le cas ?
                    • 10828 ☆ A M B ☆
                    • 174 Posts
                    Ce 4ème paramètre "validation message" n’est utilisé qu’en mode "Extended Server Validation", c’est à dire lorsqu’une règle de validation spécifique est déclarée au niveau du 5ème paramètre "validation rule". En mode classsique, se sont les messages standards qui sont utilisés, à savoir [tt]$_lang["ef_invalid_email"] [/tt] dans le cas d’une adresse email dont la syntaxe serait invalide.
                      Ackwa - Web Design & Development agency | Tours - France | Follow me on Twitter...
                      • 28173
                      • 409 Posts
                      OK.
                      En fait mon problème venait de mon fichier lang qui n’atait pas correct.
                      Dans la dernière version de eForm, le fichier francais-utf8.inc.php n’est pas présent.
                      J’ai donc récupéré d’une version antérieure (flemme de tout retraduire) mais il y avait eu qques changements entre les deux version.

                      Pour ceux que ça intéresse, voici mon fichier langue :
                      <?php
                      /**
                      * snippets/eform/francais.inc.php
                      * Fichier Langue en francais pour eForm
                      */
                      
                      $_lang["ef_thankyou_message"] = "<h3>Merci !</h3><p>Vos informations ont été correctement transmises.</p>";
                      $_lang["ef_no_doc"] = "Document ou chunk introuvable pour le modèle n°=";
                      //$_lang["ef_no_chunk"] = ""; //obsolète
                      //$_lang["ef_validation_message"] = "<strong>Des erreurs ont été detectées dans le formulaire :</strong><br />";
                      $_lang["ef_validation_message"] = "<div class=\"errors\"><strong>Des erreurs ont été detectées dans le formulaire : </strong><br /><span>[+ef_wrapper+]</span></div>"; //changed
                      $_lang["ef_required_message"] = " Les champs suivants sont indispensables : <br />{fields}";
                      $_lang["ef_invalid_number"] = " n'est pas un nombre valide";
                      $_lang["ef_invalid_date"] = " n'est pas une date valide";
                      $_lang["ef_invalid_email"] = " n'est pas une adresse mail valide";
                      $_lang["ef_upload_exceeded"] = " a dépassé la limite de taille en upload.";
                      $_lang["ef_failed_default"] = "Valeur incorrecte";
                      $_lang["ef_failed_vericode"] = "Code de vérification invalide.";
                      $_lang["ef_failed_range"] = "La valeur n'est pas dans l'intervalle permis";
                      $_lang["ef_failed_list"] = "La valeur n'est pas dans la liste des valeurs permises";
                      $_lang["ef_failed_eval"] = "Valeur non validée";
                      $_lang["ef_failed_ereg"] = "Valeur non validée";
                      $_lang["ef_failed_upload"] = "type de fichier incorrect.";
                      $_lang["ef_error_validation_rule"] = "Règle de validation non reconnue";
                      $_lang["ef_tamper_attempt"] = "tentative pour trafiquer le code du formulaire detectée!";
                      $_lang["ef_error_formid"] = "identifiant ou nom du formulaire incorrect.";
                      $_lang["ef_debug_info"] = "Information de déboggage: ";
                      $_lang["ef_is_own_id"] = "<span class=\"ef-form-error\">Le modèle de formulaire à utiliser est identifié par une page contenant un appel du snippet! Vous ne pouvez pas avoir le formulaire et l'appel du snippet dans le même document.</span> id=";
                      $_lang["ef_sql_no_result"] = " Validation silencieuse passée. <span style=\"color:red;\"> SQL n'a retouné aucun resultat!</span> ";
                      $_lang['ef_regex_error'] = 'Erreur dans l\'expression régulière';
                      $_lang['ef_debug_warning'] = '<p style="color:red;"><span style="font-size:1.5em;font-weight:bold;">ATTENTION - LE MODE DEBUG EST ACTIVÉ</span> <br />Assurez-vous de désactiver le mode debuggage avant de deployer ce formulaire!</p>';
                      $_lang['ef_mail_abuse_subject'] = 'un abus potentiel de formualaire a été détecté avec le formulaire n°';
                      $_lang['ef_mail_abuse_message'] = '<p>Un formulaire de votre site Web a peut-être fait l\'objet d\'une tentative d\'injection d\'email. Le détail des valeurs envoyées sont imprimées ci-dessous. Le texte suspecté est mis en valeur à l\'aide des tags \[..]\ .  </p>';
                      $_lang['ef_mail_abuse_error'] = '<strong>Des entrées invalides ou dangereuses ont été detectées dans votre formulaire</strong>.';
                      $_lang['ef_eval_deprecated'] = "La règle #EVAL est obsolète et ne devrait plus fonctionner dans les versions futures. Utilisez #FUNCTION à la place.";
                      ?>