src/Form/NewsletterSubscriptionType.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Entity\NewsletterSubscription;
  4. use Karser\Recaptcha3Bundle\Form\Recaptcha3Type;
  5. use Karser\Recaptcha3Bundle\Validator\Constraints\Recaptcha3;
  6. use Symfony\Component\Form\AbstractType;
  7. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  8. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  9. use Symfony\Component\Form\FormBuilderInterface;
  10. use Symfony\Component\OptionsResolver\OptionsResolver;
  11. class NewsletterSubscriptionType extends AbstractType
  12. {
  13.     public function buildForm(FormBuilderInterface $builder, array $options): void
  14.     {
  15.         $builder
  16.             ->add('email'EmailType::class, [
  17.                 'label' => 'sylius.form.newsletter_subscription.email',
  18.                 'attr'  => [
  19.                     'placeholder' => 'sylius.form.newsletter_subscription.email_placeholder',
  20.                 ],
  21.             ])
  22.             ->add('captcha'Recaptcha3Type::class, [
  23.                 'label'       => 'sylius.ui.captcha',
  24.                 'constraints' => [
  25.                     new Recaptcha3(),
  26.                 ],
  27.             ])
  28.             ->add('submit'SubmitType::class, [
  29.                 'label' => 'sylius.form.newsletter_subscription.submit',
  30.                 'attr'  => [
  31.                     'class' => 'btn btn-primary bg-green',
  32.                 ]
  33.             ])
  34.         ;
  35.     }
  36.     public function configureOptions(OptionsResolver $resolver): void
  37.     {
  38.         $resolver->setDefaults([
  39.                                    'validation_groups' => ['default'],
  40.                                    'data_class'        => NewsletterSubscription::class,
  41.                                ]);
  42.     }
  43. }