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. }