src/Form/LoginFormType.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use Karser\Recaptcha3Bundle\Form\Recaptcha3Type;
  4. use Karser\Recaptcha3Bundle\Validator\Constraints\Recaptcha3;
  5. use Symfony\Component\Form\AbstractType;
  6. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  7. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  8. use Symfony\Component\Form\Extension\Core\Type\TextType;
  9. use Symfony\Component\Form\FormBuilderInterface;
  10. use Symfony\Component\OptionsResolver\OptionsResolver;
  11. class LoginFormType extends AbstractType
  12. {
  13. public function buildForm(FormBuilderInterface $builder, array $options): void
  14. {
  15. $builder
  16. ->add('_username', TextType::class, ['attr' => ['placeholder' => 'Usuario'], 'empty_data' => $options['lastUsername']])
  17. ->add('_password', PasswordType::class, ['attr' => ['placeholder' => 'ContraseƱa']])
  18. //->add('_remember_me', CheckboxType::class, ['required' => false])
  19. ;
  20. $builder->add('captcha', Recaptcha3Type::class, [
  21. 'constraints' => new Recaptcha3(),
  22. 'action_name' => 'login'
  23. ]);
  24. }
  25. public function configureOptions(OptionsResolver $resolver): void
  26. {
  27. $resolver->setDefaults([
  28. //default csrf parameters defined in Symfony codes. without this configuration csrf check will fail
  29. 'csrf_field_name' => '_csrf_token',
  30. 'csrf_token_id' => 'authenticate',
  31. 'lastUsername' => null
  32. ]);
  33. }
  34. }