<?php
namespace App\Form\Adherent\Registration;
use App\Entity\Person;
use App\Form\Adherent\BirthDateType;
use App\Form\Adherent\FirstNameType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints\GreaterThanOrEqual;
use Symfony\Component\Validator\Constraints\LessThan;
use Symfony\Component\Validator\Constraints\NotBlank;
class UserPersonType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('birthName', TextType::class, [
'constraints' => [new NotBlank()],
'label' => 'Nom de naissance',
])
->add('firstName', FirstNameType::class)
->add('birthDate', BirthDateType::class, [
'constraints' => [
new NotBlank(),
new GreaterThanOrEqual(
value: '1930-01-01',
message: 'Votre date de naissance doit être supérieure au 01/01/1930'
),
new LessThan('-18 years', message: 'Vous devez être majeur pour procéder à une inscription'),
],
]);
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => Person::class,
]);
}
}