Jahia en Français > Formulaire avec...

0 (0 Good)
0 (0 Bad)

Formulaire avec Captcha

by  marine »  2017/11/10 10:17

Bonjour,

 

Dans le cadre d'un projet, j'aimerais intégrer un captcha à un formulaire.

Actuellement mon formulaire est comme suit:

 

<template:tokenizedForm>

                <form action="<c:url value='monAction.do'/>" method="post" class="form-horizontal" id="monForm" name="monForm" >

 

                               <input type="hidden" name="jcrMethodToCall" value="post"/>

                               <input type="hidden" name="jcrNodeType" value="namespace:monNoeud"/>

                               <input type="hidden" name="jcrRedirectTo" value="${url.base}${renderContext.mainResource.node.path}"/>

                               <input type="hidden" name="versionModule" value="${currentModule.version}">

 

                               ... tous mes champs du formulaire

                                

                               <div class="form-group row ">

                                               <div class="col-md-5">

                                                 <template:captcha/><br>

                                                 <input type="text" class="form-control" name="jcrCaptcha" size="20"/>

                                               </div>

                               </div>

                              

                               <button id="btnSubmit" type="submit" class="btn btn-primary"> Soumettre </button>

                               <button id="btnReset" type="reset" class="btn btn-danger"> Réinitialiser </button>

 

                </form>

</template:tokenizedForm>

 

Je remplis les champs de mon formulaire + le captcha puis je soumets à mon action.

Dans cette action, lorsqu'il y a des erreurs j'aimerais renvoyer un message d'erreur à l'utilisateur pour chaque champ en erreur.

 

J'ai pu trouver une solution pour retourner un objet JSON de mon action à la JSP grâce à cette page : https://www.jahia.com/home/community/forum/general/jahia-in-english/use-json-object-from-actionresul.html

Je retourne donc un Objet JSON avec le message :

                ActionResult result = new ActionResult(HttpServletResponse.SC_OK,null,json); où JSON est du type JSONObject.

Cependant, lorsque je suis sur la page de mon formulaire et je soumets, il y a un rafraichissement de la page, je perds les données rentrées dans le formulaire et je n'ai pas les messages d'ereurs qui s'affichent même dans la console du navigateur (F12)

Auriez-vous une solution ?

Merci de vos réponses.

marine
Number of messages  1
Not registered
0 (0 Good)
0 (0 Bad)

Re: Formulaire avec Captcha

by  cefou »  2018/04/12 16:00

Bonjour,

Vous devriez essayer de faire la soumission de votre formulaire en AJAX (via jQuery par ex) pour éviter le rafraichissement de votre page lors de la soumission à l'url .../monAction.do (et la perte des données)
Ensuite prévoyez d'implémenter la méthode .fail(...) sur votre appel jQuery pour le traitement des erreurs retournées.
Rem: dans le cas d'une erreur, vous pourriez renvoyer un code d'erreur plutôt que HttpServletResponse.SC_OK sinon jQuery executera la méthode .done(...) à la place...  (cf https://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/http/HttpServletResponse.html )

 

  (cefou)

Number of messages  17
Registration date
0 (0 Good)
0 (0 Bad)

Re: Re: Formulaire avec Captcha

by  anderjonnyson@gmail.com »  2019/03/28 06:46

Bonjour ! J'ai aussi appris la programmation à l'Université. J'ai eu un mauvais backend, j'ai plus aimé dessiner des sites. Malheureusement, vous ne gagnerez pas beaucoup et j'ai dû suivre des cours supplémentaires. Ils ont coûté cher, je n'avais pas cet argent et je les ai accumulés seulement avec l'aide de  https://casino-francais-bonus-gratuit.net/casino-en-ligne.htm

  (anderjonnyson@gmail.com)

Number of messages  4
Registration date
Contact
Share
Feedback

Get in touch

Whether you are a current user or if you are just evaluating Jahia, we are here to help.

Contact us

Share this page