src/Form/RegisterType.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Entity\User;
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\Form\FormBuilderInterface;
  6. use Symfony\Component\Validator\Constraints\Length;
  7. use Symfony\Component\OptionsResolver\OptionsResolver;
  8. use Symfony\Component\Form\Extension\Core\Type\TextType;
  9. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  10. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  11. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  12. use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
  13. class RegisterType extends AbstractType
  14. {
  15. public function buildForm(FormBuilderInterface $builder, array $options): void
  16. {
  17. $builder
  18. ->add('firstname', TextType::class, [
  19. 'label' => 'Votre prénom',
  20. 'constraints' => new Length([
  21. 'min' => 2,
  22. 'max' => 30
  23. ]),
  24. 'attr' => [
  25. 'placeholder' => 'Merci de saisir votre prénom'
  26. ]
  27. ])
  28. ->add('lastname', TextType::class, [
  29. 'label' => 'Votre nom',
  30. 'constraints' => new Length([
  31. 'min' => 2,
  32. 'max' => 30
  33. ]),
  34. 'attr' => [
  35. 'placeholder' => 'Merci de saisir votre nom'
  36. ]
  37. ])
  38. ->add('email', EmailType::class, [
  39. 'label' => 'Votre email',
  40. 'constraints' => new Length([
  41. 'min' => 2,
  42. 'max' => 60
  43. ]),
  44. 'attr' => [
  45. 'placeholder' => 'Merci de saisir votre adresse email'
  46. ]
  47. ])
  48. ->add('password', RepeatedType::class, [
  49. 'type' => PasswordType::class,
  50. 'invalid_message' => 'Le mot de passe et la confirmation doivent être identiques',
  51. 'label' => 'Votre mot de passe',
  52. 'required' => true,
  53. 'first_options' =>[
  54. 'label' => 'Mot de passe',
  55. 'attr' => [
  56. 'placeholder' => 'Merci de saisir votre mot de passe'
  57. ]
  58. ],
  59. 'second_options' =>[
  60. 'label' => 'Confirmez mot de passe',
  61. 'attr' => [
  62. 'placeholder' => 'Merci de confirmer votre mot de passe'
  63. ]
  64. ],
  65. ])
  66. ->add('submit', SubmitType::class, [
  67. 'label' => "S'inscrire",
  68. ]);
  69. }
  70. public function configureOptions(OptionsResolver $resolver): void
  71. {
  72. $resolver->setDefaults([
  73. 'data_class' => User::class,
  74. ]);
  75. }
  76. }