From: Raphaël Gertz Date: Tue, 14 Oct 2025 14:10:51 +0000 (+0200) Subject: Set captcha à required X-Git-Tag: 0.5.7~4 X-Git-Url: https://git.rapsys.eu/packbundle/commitdiff_plain/9cc9cb03385ddc7518226d170400d2cca61a219e Set captcha à required Add not about error bubbling issue --- diff --git a/Form/CaptchaType.php b/Form/CaptchaType.php index 8b0a872..9d9db16 100644 --- a/Form/CaptchaType.php +++ b/Form/CaptchaType.php @@ -57,7 +57,7 @@ class CaptchaType extends AbstractType { $builder->add('_captcha_token', HiddenType::class, ['data' => $captcha['token'], 'empty_data' => $captcha['token'], 'mapped' => false]); //Add captcha - $builder->add('captcha', IntegerType::class, ['label_attr' => ['class' => 'captcha'], 'label' => ''.htmlentities($captcha['equation']).'', 'label_html' => true, 'mapped' => false, 'translation_domain' => false]); + $builder->add('captcha', IntegerType::class, ['label_attr' => ['class' => 'captcha'], 'label' => ''.htmlentities($captcha['equation']).'', 'label_html' => true, 'mapped' => false, 'translation_domain' => false, 'required' => true]); //Add event listener on captcha $builder->addEventListener(FormEvents::PRE_SUBMIT, [$this, 'validateCaptcha']); @@ -96,6 +96,8 @@ class CaptchaType extends AbstractType { //Without captcha if (empty($data['captcha'])) { //Add error on captcha + //XXX: we need to add error on form + //XXX: see https://github.com/symfony/symfony/issues/35831 $form->addError(new FormError($this->translator->trans('Captcha is empty'))); //Reset captcha token @@ -106,6 +108,8 @@ class CaptchaType extends AbstractType { //With invalid captcha } elseif ($this->slugger->hash($data['captcha']) !== $data['_captcha_token']) { //Add error on captcha + //XXX: we need to add error on form + //XXX: see https://github.com/symfony/symfony/issues/35831 $form->addError(new FormError($this->translator->trans('Captcha is invalid'))); //Reset captcha token