src/Infrastructure/SecurityBundle/Form/Type/LoginType.php line 18

Open in your IDE?
  1. <?php
  2. namespace Whater\Infrastructure\SecurityBundle\Form\Type;
  3. use Whater\Infrastructure\SecurityBundle\Form\DTO\LoginDTO;
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\Form\FormBuilderInterface;
  6. use Symfony\Component\OptionsResolver\OptionsResolver;
  7. use Symfony\Component\Form\Extension\Core\Type\TextType;
  8. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  9. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  10. use Symfony\Component\Validator\Constraints as Assert;
  11. /**
  12. * Class LoginType
  13. *
  14. * @package Whater\Infrastructure\SecurityBundle\Form\Type
  15. */
  16. class LoginType extends AbstractType
  17. {
  18. /**
  19. * @param FormBuilderInterface $builder
  20. * @param array $options
  21. */
  22. public function buildForm(FormBuilderInterface $builder, array $options)
  23. {
  24. $builder
  25. ->add('username', TextType::class, [
  26. 'constraints' => array(
  27. new Assert\NotBlank(),
  28. new Assert\Length(array(
  29. 'min' => 3,
  30. 'max' => 64
  31. ))
  32. )
  33. ])
  34. ->add('password', PasswordType::class, [
  35. 'constraints' => array(
  36. new Assert\NotBlank(),
  37. new Assert\Length(array(
  38. 'min' => 8,
  39. 'max' => 255
  40. ))
  41. )
  42. ])
  43. ->add('remember_me', CheckboxType::class, [
  44. 'mapped' => false,
  45. 'required' => false,
  46. 'attr' => [
  47. 'placeholder' => 'web.security.login.rememberme',
  48. ],
  49. 'label' => 'web.security.login.rememberme'
  50. ])
  51. ;
  52. }
  53. /**
  54. * @param OptionsResolver $resolver
  55. */
  56. public function configureOptions(OptionsResolver $resolver)
  57. {
  58. $resolver->setDefaults([
  59. 'data_class' => LoginDTO::class,
  60. 'csrf_protection' => false
  61. ]);
  62. }
  63. }