With this Pimcore bundle it is possible to integrate the Google ReCaptcha v3 logic into symfony forms.
"require" : {
"lukaschel/pimcore-recaptcha" : "~1.0.0"
}
After enabling and installing the bundle in the Pimcore backends, the bundle configuration can be used to set Recaptcha keys for each page.
Subsequently, a hidden input field can be deposited in the respective form:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('g_recaptcha_response', HiddenType::class, [
'attr' => [
'class' => 'g-recaptcha-response-input'
]
]);
}
Now you only have to validate the input field in your controller when your form is submitted:
if ($form->isSubmitted() &&
$form->isValid() &&
$this->container->get('lukaschel.recaptcha')->validate($request->request->get('FORM_NAME')['g_recaptcha_response'])
) {
...
}
For licensing details please visit LICENSE.md