src/Form/RegistrationFormType.php line 17
<?phpnamespace App\Form;use App\Entity\User;use Symfony\Component\Form\AbstractType;use Symfony\Component\Form\FormBuilderInterface;use Symfony\Component\Validator\Constraints\IsTrue;use Symfony\Component\Validator\Constraints\Length;use Symfony\Component\Validator\Constraints\NotBlank;use Symfony\Component\OptionsResolver\OptionsResolver;use Symfony\Component\Form\Extension\Core\Type\CheckboxType;use Symfony\Component\Form\Extension\Core\Type\PasswordType;use Symfony\Component\Form\Extension\Core\Type\RepeatedType;use Symfony\Component\Validator\Constraints as Assert;class RegistrationFormType extends AbstractType{public function buildForm(FormBuilderInterface $builder, array $options): void{$builder->add('email', null, ['attr' => ['class' => 'form-control mb-3']])->add('UserInfos', UserInfosType::class)->add('agreeTerms', CheckboxType::class, ['mapped' => false,'constraints' => [new IsTrue(['message' => 'You should agree to our terms.',]),],])->add('plainPassword', RepeatedType::class, ['type' => PasswordType::class,'invalid_message' => 'Les deux mots de passe doivent être identiques','options' => ['attr' => ['class' => 'form-control mb-3']],'required' => true,'first_options' => ['label' => 'Password'],'second_options' => ['label' => 'Repeat Password'],'mapped' => false,'constraints' => [new NotBlank(['message' => 'Entre un mot de passe',]),new Length(['min' => 8,'minMessage' => 'Ton mot de passe doit faire au moins {{ limit }} caractères','max' => 4096,]),new Assert\Regex(['pattern' => '/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&#])[A-Za-z\d@$!%*?&#]{8,}$/','message' => 'Ton mot de passe doit contenir 1 Majuscule, 1 Minuscule, 1 Nombre et un caractère special au minimum.']),],]);}public function configureOptions(OptionsResolver $resolver): void{$resolver->setDefaults(['data_class' => User::class,]);}}