Jahia en Français > [Dev] Vérification...

0 (0 Good)
0 (0 Bad)

[Dev] Vérification du Captcha Jahia en Ajax (sans recharger la page)

by  minuitchan@gmail.com »  2017/05/16 18:34

Bonjour,

j'ai un formulaire dans mon module avec un captcha fourni par Jahia 

J'ai entouré mon formulaire par : <template:tokenizedForm> ...</template:tokenizedForm> 
Mon problème c'est que je ne veux pas submit directement le formulaire (je ne veux pas recharger la page car le submit se fait plus loin dans le parcours) mais passer par une fonction Ajax qui check si le captcha est correct ou non et suivant la réponse affiche ou non un résultat sur la page.
Je n'ai pas réussi à trouver de solution pour appeler la fonction qui check le captcha dans une action java (appelée en ajax qui renvoie du JSON)

merci d'avance pour votre aide,

Olivia

  (minuitchan@gmail.com)

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

Re: [Dev] Vérification du Captcha Jahia en Ajax (sans recharger la page)

by  cefou »  2018/04/12 16:45

Bonjour,

Je ne sais pas si cela peut vous aider mais la fonction qui checke le captcha lors d'une soumission d'un formulaire avec un jcrCaptcha Jahia et le <template:tokenizedForm> est la fonction :

int tokenResult = org.jahia.bin.TokenChecker.checkToken(req, resp, parameters)

HttpServletRequest req, HttpServletResponse resp, Map<String, List<String>> parameters

Le captcha est incorrect si == TokenChecker.INVALID_CAPTCHA

Pour faire l'appel depuis un call AJAX, il faudrait donc l'inclure dans une action custom a appeler avant la soumission.

Rem: si vous faites un call en AJAX vers l'action render par défaut, la classe Jahia 'Render.java' renvoi déjà un JSON avec un "status" contenant une clé "failure.captcha" avec la valeur "Your captcha is invalid" en cas d'erreur de captcha.

Pour finir, attention que cet appel pourrait déjà "consommer" le token associé à votre formulaire... (Je n'en suis pas certains mais à vérifier)

 

  (cefou)

Number of messages  17
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