src/Form/LoginType.php line 17

Open in your IDE?
  1. <?php
  2. // src/Form/LoginType.php
  3. namespace App\Form;
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  6. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  7. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  8. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  9. use Symfony\Component\Form\FormBuilderInterface;
  10. use Symfony\Component\OptionsResolver\OptionsResolver;
  11. /**
  12.  * @see https://symfony.com/doc/current/security/remember_me.html
  13.  * @see https://symfony.com/doc/current/security/csrf.html
  14.  */
  15. class LoginType extends AbstractType
  16. {
  17.     public function buildForm(FormBuilderInterface $builder, array $options)
  18.     {
  19.         $builder
  20.             ->add('_username'EmailType::class, [
  21.                 'attr' => ['placeholder' => "email"],
  22.                 'label' => 'email'
  23.                 'translation_domain' => 'messages'
  24.             ])
  25.             ->add('_password'PasswordType::class, [
  26.                 'attr' => ['placeholder' => "password"],
  27.                 'label' => 'password'
  28.                 'translation_domain' => 'messages'
  29.             ])
  30.             ->add('_remember_me'CheckboxType::class, [
  31.                 'label' => 'remember_me'
  32.                 'translation_domain' => 'messages',
  33.                 'mapped' => false,
  34.                 'required' => false,
  35.             ])
  36.             ->add('submit'SubmitType::class, [
  37.                 'label' => 'submit'
  38.             ])
  39.         ;
  40.     }
  41.     public function configureOptions(OptionsResolver $resolver)
  42.     {
  43.         $resolver->setDefaults([
  44.             // 'data_class' => User::class,
  45.             'attr' => ['id' => 'login'],
  46.             // enable/disable CSRF protection for this form
  47.             'csrf_protection' => true,
  48.             // the name of the hidden HTML field that stores the token
  49.             'csrf_field_name' => '_csrf_token',
  50.             // an arbitrary string used to generate the value of the token
  51.             // using a different string for each form improves its security
  52.             'csrf_token_id'   => 'authenticate',
  53.         ]);
  54.     }
  55.     public function getBlockPrefix()
  56.     {
  57.         // DO NOT TOUCH
  58.         return '';
  59.     }
  60. }