src/Form/RegistrationFormType.php line 19

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\IsTrue;
  7. use Symfony\Component\Validator\Constraints\Length;
  8. use Symfony\Component\Validator\Constraints\NotBlank;
  9. use Symfony\Component\OptionsResolver\OptionsResolver;
  10. use Symfony\Component\Form\Extension\Core\Type\TextType;
  11. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  12. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  13. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  14. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  15. use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
  16. class RegistrationFormType extends AbstractType
  17. {
  18.     public function buildForm(FormBuilderInterface $builder, array $options)
  19.     {
  20.         $builder
  21.             ->add('name'TextType::class,[
  22.                 'label' => 'Nom',
  23.                 'help'  => 'Veillez indiquez votre nom'
  24.             ])
  25.             ->add('lastname'TextType::class,[
  26.                 'label' => 'Post Nom',
  27.                 'help'  => 'Veillez indiquez votre postnom'
  28.             ])
  29.             ->add('firstname'TextType::class,[
  30.                 'label' => 'Prénom',
  31.                 'help'  => 'Veillez indiquez votre prénom'
  32.             ])
  33.             ->add('phoneNumber'TextType::class,[
  34.                 'label' => 'Téléphone',
  35.                 'help'  => 'Veillez indiquez votre Téléphone'
  36.             ])
  37.             ->add('email'EmailType::class,[
  38.                 'label' => 'Email',
  39.                 'help'  => 'Veillez indiquez votre email'
  40.             ])
  41.             ->add('sexe'ChoiceType::class, [
  42.                 'choices'  => [
  43.                     'Homme' => 'male',
  44.                     'Femme' => 'female',
  45.                 ],
  46.             ])
  47.             ->add('agreeTerms'CheckboxType::class, [
  48.                 'mapped' => false,
  49.                 'label' => 'J\'accepte les termes & conditions',
  50.                 'constraints' => [
  51.                     new IsTrue([
  52.                         'message' => 'You should agree to our terms.',
  53.                     ]),
  54.                 ],
  55.             ])
  56.             ->add('password'RepeatedType::class, [
  57.                 'type' => PasswordType::class,
  58.                 'invalid_message' => 'The password fields must match.',
  59.                 'options' => ['attr' => ['class' => 'password-field']],
  60.                 'required' => true,
  61.                 'first_options'  => ['label' => 'Mot de passe'],
  62.                 'second_options' => ['label' => 'Confirmez votre mot de passe''help'  => 'Veillez confirmez le même mot de passe'],
  63.             ])
  64.         ;
  65.     }
  66.     public function configureOptions(OptionsResolver $resolver)
  67.     {
  68.         $resolver->setDefaults([
  69.             'data_class' => User::class,
  70.         ]);
  71.     }
  72. }