excelwebzone / EWZRecaptchaBundle

This bundle provides easy reCAPTCHA form field for Symfony.
MIT License
396 stars 160 forks source link

refactor v3 twig to support multiple recaptcha on the same page, and … #295

Open minimit opened 1 year ago

minimit commented 1 year ago

Hello, i've forked this plugin in our webgriffe projects, and with many iterations this is the final version of the recaptcha v3 we could come to.

It has different features:

minimit commented 1 year ago

Closes #151, closes #82, closes #290

minimit commented 1 year ago

Are there tests?

Seb33300 commented 1 year ago

Just tested this PR on my project having issues related to multiple forms with recaptcha on a same page. And this fixed our issue.

mlaan-hnet commented 11 months ago

Thank you for addressing the multiple recaptcha problem with your fix. I've been experiencing the same issue. I noticed that you submitted this pull request nearly a year ago. Could you please provide information on the steps required to incorporate your fix into the bundle?

grimgit commented 9 months ago

Hi, the current code use the form submit() function, so the submit input is not submitted and $form->get('submit')->isCliccked() is always false.

The PR try to resolve the issue calling form.querySelector('[type="submit"]').click() but:

I propose to call the click function on the event submitter (e.submitter) if present, otherwise fallback to the form submit() function

minimit commented 9 months ago

Hi, the current code use the form submit() function, so the submit input is not submitted and $form->get('submit')->isCliccked() is always false.

The PR try to resolve the issue calling form.querySelector('[type="submit"]').click() but:

  • if there are more then one submit input it always trigger the first submit input, so if there are a delete button and a save button in the same form the delete button is always triggered (!!!)
  • if the form has no submit input the form is never submitted

I propose to call the click function on the event submitter (e.submitter) if present, otherwise fallback to the form submit() function

Yes using e.submitter is better, I've made the commit