src/Form/RegistrationFormType.php line 22
<?phpnamespace App\Form;use App\Entity\Pays;use App\Entity\User;use Doctrine\DBAL\Types\StringType;use Symfony\Bridge\Doctrine\Form\Type\EntityType;use Symfony\Component\Form\AbstractType;use Symfony\Component\Form\Extension\Core\Type\CheckboxType;use Symfony\Component\Form\Extension\Core\Type\EmailType;use Symfony\Component\Form\Extension\Core\Type\PasswordType;use Symfony\Component\Form\Extension\Core\Type\RepeatedType;use Symfony\Component\Form\Extension\Core\Type\TextType;use Symfony\Component\Form\FormBuilderInterface;use Symfony\Component\OptionsResolver\OptionsResolver;use Symfony\Component\Validator\Constraints\Email;use Symfony\Component\Validator\Constraints\IsTrue;use Symfony\Component\Validator\Constraints\Length;use Symfony\Component\Validator\Constraints\NotBlank;class RegistrationFormType extends AbstractType{public function buildForm(FormBuilderInterface $builder, array $options): void{$builder->add('email', EmailType::class, ['attr' => ['class' => 'form-control ps-2','placeholder' => 'Email'],'constraints' => [new NotBlank(['message' => 'Veuillez remplir ce champ.']),new Email(['message'=> 'Cet adresse mail est déjà utilisé.'])]])->add('password', RepeatedType::class, ['type' => PasswordType::class,'invalid_message' => 'Les mots de passe ne correspondent pas.','options' => ['attr' => ['class' => 'password-field']],'first_name' => 'password','second_name' => 'confirm','first_options' => ['attr' => ['placeholder' => 'Mot de passe', 'class' => 'form-control ps-2 rounded-0 border-0'],'label_attr' => ['class' => 'd-none'],'row_attr' => ['class' => 'col-6 p-0', 'style' => 'border-right: 3px solid grey']],'second_options' => ['attr' => ['placeholder' => 'Confirmer', 'class' => 'form-control ps-2 rounded-0 rounded-end border-0'],'label_attr' => ['class' => 'd-none'],'row_attr' => ['class' => 'col-6 p-0']],'row_attr' => ['class' => 'mt-3'],'attr' => ['autocomplete' => 'new-password','class' => 'row form-control d-flex p-0'],'constraints' => [new NotBlank(['message' => "Merci d'entrer votre mot de passe",]),new Length(['min' => 8,'minMessage' => 'Votre mot de passe doit contenir au minimum {{ limit }} caractères','max' => 4096,]),],])->add('lastname', TextType::class, ['attr' => ['class' => 'form-control ps-2','placeholder' => 'Nom'],])->add('firstname', TextType::class, ['attr' => ['class' => 'form-control ps-2','placeholder' => 'Prénom'],])->add('phone', TextType::class, ['attr' => ['class' => 'form-control ps-2','placeholder' => 'Téléphone'],])->add('address', TextType::class, ['required' => true,'attr' => ['class' => 'form-control ps-2','placeholder' => 'Adresse'],])->add('address_complement', TextType::class, ['required' => false,'attr' => ['class' => 'form-control ps-2','placeholder' => "Complément d'adresse (Optionnel)"],])->add('zip_code', TextType::class, ['required' => true,'attr' => ['class' => 'form-control ps-2','placeholder' => 'Code postal'],])->add('city', TextType::class, ['required' => true,'attr' => ['class' => 'form-control ps-2','placeholder' => 'Ville'],])->add('pays', EntityType::class, ['class' => Pays::class,'label' => 'Pays','choice_label' => 'nom','required' => true,'attr' => ['class' => 'form-control']]);}public function configureOptions(OptionsResolver $resolver): void{$resolver->setDefaults(['data_class' => User::class,]);}}