src/Form/Customer/LoginType.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Form\Customer;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\FormBuilderInterface;
  5. use Symfony\Component\OptionsResolver\OptionsResolver;
  6. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  7. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  8. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  9. use Karser\Recaptcha3Bundle\Form\Recaptcha3Type;
  10. use Karser\Recaptcha3Bundle\Validator\Constraints\Recaptcha3;
  11. class LoginType extends AbstractType
  12. {
  13. /**
  14. * {@inheritdoc}
  15. */
  16. public function buildForm(FormBuilderInterface $builder, array $options)
  17. {
  18. $translator = $options['translator'];
  19. $locale = $options['locale'];
  20. $builder->add('email',EmailType::class,[
  21. 'label'=>false,
  22. 'attr'=>[
  23. 'class'=>'field-email',
  24. 'placeholder'=>$translator->trans('Votre adresse email'),
  25. 'data-validation'=>'email'
  26. ],
  27. ])
  28. ->add('password',PasswordType::class,[
  29. 'label'=>false,
  30. 'attr'=>[
  31. 'class'=>'field-pwd',
  32. 'placeholder'=>$translator->trans('Votre mot de passe'),
  33. 'data-validation'=>'required',
  34. 'data-validation-length'=>'max50'
  35. ],
  36. ])
  37. // ->add('captcha', Recaptcha3Type::class, [
  38. // 'constraints' => new Recaptcha3 ([
  39. // 'message' => $translator->trans('Votre ordinateur ou votre réseau envoie peut-être des requêtes automatisées, veuillez contacter notre équipe commerciale.'),
  40. // 'messageMissingValue' => $translator->trans('La valeur CAPTCHA est manquante.'),
  41. // ]),
  42. // 'action_name' => 'login',
  43. // 'locale' => $locale,
  44. // 'attr' => [
  45. // 'data-validation'=>'email',
  46. // ]
  47. // ])
  48. ->add('submit',SubmitType::class,[
  49. 'label'=>$translator->trans("M'identifier"),
  50. 'attr'=>[
  51. 'class'=>'button'
  52. ],
  53. ]);
  54. }
  55. public function configureOptions(OptionsResolver $resolver)
  56. {
  57. $resolver->setDefaults(array(
  58. 'csrf_protection' => true,
  59. 'csrf_field_name' => '_token',
  60. // a unique key to help generate the secret token
  61. 'csrf_token_id' => 'login',
  62. ));
  63. $resolver->setRequired('translator');
  64. $resolver->setRequired('locale');
  65. }
  66. /**
  67. * {@inheritdoc}
  68. */
  69. public function getBlockPrefix()
  70. {
  71. return 'customer_login';
  72. }
  73. }