diff --git a/app/Resources/views/event/ticket/ticket.html.twig b/app/Resources/views/event/ticket/ticket.html.twig index 2b3e2a98f..e22076ead 100644 --- a/app/Resources/views/event/ticket/ticket.html.twig +++ b/app/Resources/views/event/ticket/ticket.html.twig @@ -5,7 +5,7 @@ {% form_theme ticketForm _self %} {% block form_errors %} - {% spaceless %} + {% apply spaceless %} {% if errors|length > 0 %} {% endif %} - {% endspaceless %} + {% endapply %} {% endblock form_errors %} {% block metas %} diff --git a/app/Resources/views/site/secondary_menu.html.twig b/app/Resources/views/site/secondary_menu.html.twig index 23e3e45e2..25932fcea 100644 --- a/app/Resources/views/site/secondary_menu.html.twig +++ b/app/Resources/views/site/secondary_menu.html.twig @@ -1,6 +1,8 @@
- {% for item in menu if item.is_active %} + {% for item in menu %} + {% if item.is_active %} {{ item.nom }} + {% endif %} {% endfor %}
diff --git a/composer.json b/composer.json index a8b30a001..df37bb39c 100644 --- a/composer.json +++ b/composer.json @@ -19,7 +19,7 @@ "doctrine/dbal": "^2.5", "ekino/newrelic-bundle": "^1.4", "erusev/parsedown": "^1.6", - "excelwebzone/recaptcha-bundle": "1.5.13", + "excelwebzone/recaptcha-bundle": "^1.5", "ezyang/htmlpurifier": "^4.10", "friendsofpear/pear_exception": "0.0.*", "guzzlehttp/guzzle": "^6.5", diff --git a/composer.lock b/composer.lock index 3ca321ac9..d5340e3b2 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e837825c26c89e1148ab591c5c3db9da", + "content-hash": "0c50bfb3ed8bc92fae3e74340c208b8e", "packages": [ { "name": "algolia/algoliasearch-client-php", @@ -1876,28 +1876,30 @@ }, { "name": "excelwebzone/recaptcha-bundle", - "version": "v1.5.13", + "version": "v1.5.42", "source": { "type": "git", "url": "https://github.com/excelwebzone/EWZRecaptchaBundle.git", - "reference": "0ab877583961efac961d651fd3bcc3bfcf3d543c" + "reference": "c1728fab6dc1a880e1b76298c5092f2ca25dac8f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/excelwebzone/EWZRecaptchaBundle/zipball/0ab877583961efac961d651fd3bcc3bfcf3d543c", - "reference": "0ab877583961efac961d651fd3bcc3bfcf3d543c", + "url": "https://api.github.com/repos/excelwebzone/EWZRecaptchaBundle/zipball/c1728fab6dc1a880e1b76298c5092f2ca25dac8f", + "reference": "c1728fab6dc1a880e1b76298c5092f2ca25dac8f", "shasum": "" }, "require": { "google/recaptcha": "^1.1", - "php": ">=5.6 || ^7.0", - "symfony/form": "^2.8 || ^3.0 || ^4.0", - "symfony/framework-bundle": "^2.8 || ^3.0 || ^4.0", - "symfony/security-bundle": "^2.8 || ^3.0 || ^4.0", - "symfony/validator": "^2.8 || ^3.0 || ^4.0" + "php": "^7.1 || ^8.0", + "symfony/form": "^2.8 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0", + "symfony/framework-bundle": "^2.8 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0", + "symfony/security-bundle": "^2.8 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0", + "symfony/validator": "^2.8 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0", + "symfony/yaml": "^2.8 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0", + "twig/twig": "^1.40 || ^2.9 || ^3.0" }, "require-dev": { - "phpunit/phpunit": "^5 || ^6 || ^7" + "phpunit/phpunit": "^7 || ^8 || ^9.5" }, "type": "symfony-bundle", "extra": { @@ -1928,9 +1930,9 @@ ], "support": { "issues": "https://github.com/excelwebzone/EWZRecaptchaBundle/issues", - "source": "https://github.com/excelwebzone/EWZRecaptchaBundle/tree/master" + "source": "https://github.com/excelwebzone/EWZRecaptchaBundle/tree/v1.5.42" }, - "time": "2019-01-21T16:57:28+00:00" + "time": "2025-02-03T20:57:06+00:00" }, { "name": "ezyang/htmlpurifier", diff --git a/sources/AppBundle/Association/Form/CompanyMemberType.php b/sources/AppBundle/Association/Form/CompanyMemberType.php index 8604d9455..2680fceb9 100644 --- a/sources/AppBundle/Association/Form/CompanyMemberType.php +++ b/sources/AppBundle/Association/Form/CompanyMemberType.php @@ -42,7 +42,8 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'maxMembers', ChoiceType::class, [ - 'choices' => $choices + 'choices' => $choices, + 'strict' => true ] ) ->add('invitations', CollectionType::class, [ diff --git a/sources/AppBundle/Association/Form/CompanyPublicProfile.php b/sources/AppBundle/Association/Form/CompanyPublicProfile.php index f28bd48b1..0b72147cc 100644 --- a/sources/AppBundle/Association/Form/CompanyPublicProfile.php +++ b/sources/AppBundle/Association/Form/CompanyPublicProfile.php @@ -138,6 +138,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'multiple' => true, 'required' => false, 'label' => "Présence dans ces antennes AFUP", + 'strict' => true, 'constraints' => [ new Choice([ 'choices' => array_values($antennesInfos), diff --git a/sources/AppBundle/Association/Form/ContactDetailsType.php b/sources/AppBundle/Association/Form/ContactDetailsType.php index 38558fa5a..40c2c2642 100644 --- a/sources/AppBundle/Association/Form/ContactDetailsType.php +++ b/sources/AppBundle/Association/Form/ContactDetailsType.php @@ -61,7 +61,8 @@ public function buildForm(FormBuilderInterface $builder, array $options): void ->add('country', ChoiceType::class, [ 'label' => 'Pays', 'choices' => $this->getCountyChoices(), - 'preferred_choices' => ['FR'] + 'preferred_choices' => ['FR'], + 'strict' => true ]) ->add('phone', TextType::class, [ 'required' => false, @@ -78,6 +79,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void ]) ->add('nearest_office', ChoiceType::class, [ 'choices' => $this->getOfficesList(), + 'strict' => true, ]) ->add('username', TextType::class, [ 'attr' => [ diff --git a/sources/AppBundle/Association/Form/RegisterUserType.php b/sources/AppBundle/Association/Form/RegisterUserType.php index c4f787075..978692b98 100644 --- a/sources/AppBundle/Association/Form/RegisterUserType.php +++ b/sources/AppBundle/Association/Form/RegisterUserType.php @@ -35,7 +35,8 @@ public function buildForm(FormBuilderInterface $builder, array $options): void ]) ->add('civility', ChoiceType::class, [ 'choices' => ['M.' => User::CIVILITE_M, 'Mme' => User::CIVILITE_MME], - 'required' => true + 'required' => true, + 'strict' => true ]) ; diff --git a/sources/AppBundle/Association/Form/TicketEventType.php b/sources/AppBundle/Association/Form/TicketEventType.php index c4d6c1957..c07075231 100644 --- a/sources/AppBundle/Association/Form/TicketEventType.php +++ b/sources/AppBundle/Association/Form/TicketEventType.php @@ -27,7 +27,8 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'constraints' => [ new NotBlank() ], - 'label' => 'Type de ticket' + 'label' => 'Type de ticket', + 'strict' => true ]) ->add('price', MoneyType::class, [ 'currency' => 'EUR', diff --git a/sources/AppBundle/Association/Form/UserEditType.php b/sources/AppBundle/Association/Form/UserEditType.php index 619175c99..f7454bd4f 100644 --- a/sources/AppBundle/Association/Form/UserEditType.php +++ b/sources/AppBundle/Association/Form/UserEditType.php @@ -44,11 +44,13 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'label' => 'Personne morale', 'required' => false, 'choices' => array_flip($this->personnesMorales->obtenirListe('id, CONCAT(raison_sociale, " (id : ", id, ")")', 'raison_sociale', true)), + 'strict' => true, ]) ->add('civility', ChoiceType::class, [ 'label' => 'Civilité', 'required' => true, 'choices' => array_combine($civilities, $civilities), + 'strict' => true, ]) ->add('lastname', TextType::class, [ 'label' => 'Nom', @@ -125,6 +127,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void ], 'preferred_choices' => ['FR'], 'choices' => array_flip($this->pays->obtenirPays()), + 'strict' => true, ]) ->add('phone', TextType::class, [ 'label' => 'Tél. fixe', @@ -155,6 +158,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'Rédacteur' => User::LEVEL_WRITER, 'Administrateur' => User::LEVEL_ADMIN, ], + 'strict' => true, ]) ->add('directoryLevel', ChoiceType::class, [ 'label' => 'Annuaire des prestataires', @@ -162,6 +166,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void '--' => User::LEVEL_MEMBER, 'Gestionnaire' => User::LEVEL_ADMIN, ], + 'strict' => true, ]) ->add('eventLevel', ChoiceType::class, [ 'label' => 'Évènement', @@ -169,6 +174,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void '--' => User::LEVEL_MEMBER, 'Gestionnaire' => User::LEVEL_ADMIN, ], + 'strict' => true, ]) ->add('websiteLevel', ChoiceType::class, [ 'label' => 'Site web', @@ -176,6 +182,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void '--' => User::LEVEL_MEMBER, 'Gestionnaire' => User::LEVEL_ADMIN, ], + 'strict' => true, ]) ->add('officeLevel', ChoiceType::class, [ 'label' => 'Antenne AFUP', @@ -183,6 +190,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void '--' => User::LEVEL_MEMBER, 'Gestionnaire' => User::LEVEL_ADMIN, ], + 'strict' => true, ]) ->add('status', ChoiceType::class, [ 'label' => 'État', @@ -191,6 +199,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'Actif' => User::STATUS_ACTIVE, 'Inactif' => User::STATUS_INACTIVE, ], + 'strict' => true, ]) ->add('username', TextType::class, [ 'label' => 'Login', diff --git a/sources/AppBundle/Controller/Website/MemberShipController.php b/sources/AppBundle/Controller/Website/MemberShipController.php index cc718486c..f33c7f04b 100644 --- a/sources/AppBundle/Controller/Website/MemberShipController.php +++ b/sources/AppBundle/Controller/Website/MemberShipController.php @@ -658,12 +658,14 @@ public function generalMeeting(Request $request) 'choices' => [ 'Je participe' => 1, 'Je ne participe pas' => 2 - ] + ], + 'strict' => true ]) ->add('id_personne_avec_pouvoir', ChoiceType::class, [ 'choices' => array_flip($generalMeetingRepository->getPowerSelectionList($latestDate, $user->getUsername())), 'label' => 'Je donne mon pouvoir à', 'required' => false, + 'strict' => true, ]) ->add('save', SubmitType::class, [ 'label' => 'Confirmer' diff --git a/sources/AppBundle/Event/Form/EventSelectType.php b/sources/AppBundle/Event/Form/EventSelectType.php index b84b6ad41..440a02854 100644 --- a/sources/AppBundle/Event/Form/EventSelectType.php +++ b/sources/AppBundle/Event/Form/EventSelectType.php @@ -27,6 +27,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void $builder ->add('id', ChoiceType::class, [ + 'strict' => true, 'choice_label' => 'title', 'choice_value' => 'id', 'data' => $options['data'] ?? null, diff --git a/sources/AppBundle/Event/Form/LeadType.php b/sources/AppBundle/Event/Form/LeadType.php index 423244061..a09160738 100644 --- a/sources/AppBundle/Event/Form/LeadType.php +++ b/sources/AppBundle/Event/Form/LeadType.php @@ -29,7 +29,8 @@ public function buildForm(FormBuilderInterface $builder, array $options): void ->add('email', EmailType::class) ->add('language', ChoiceType::class, [ 'choices' => ['fr' => 'fr', 'en' => 'en'], - 'multiple' => false + 'multiple' => false, + 'strict' => true ]) ->add('recaptcha', EWZRecaptchaType::class, [ 'label' => 'Vérification', diff --git a/sources/AppBundle/Event/Form/PurchaseType.php b/sources/AppBundle/Event/Form/PurchaseType.php index c3bae33b0..eb9941f9a 100644 --- a/sources/AppBundle/Event/Form/PurchaseType.php +++ b/sources/AppBundle/Event/Form/PurchaseType.php @@ -49,6 +49,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'multiple' => false, 'expanded' => false, 'mapped' => false, + 'strict' => true, 'data' => 1 ]) ->add('tickets', CollectionType::class, [ @@ -70,7 +71,8 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'Virement' => Ticket::PAYMENT_BANKWIRE ], 'expanded' => true, - 'multiple' => false + 'multiple' => false, + 'strict' => true ]) ->add('firstname', TextType::class) ->add('lastname', TextType::class) @@ -81,6 +83,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void ->add('city', TextType::class) ->add('countryId', ChoiceType::class, [ 'label' => 'Country', + 'strict' => true, 'choices' => array_flip($this->country->obtenirPays()) ]) ->add('companyCitation', CheckboxType::class, [ diff --git a/sources/AppBundle/Event/Form/SpeakerType.php b/sources/AppBundle/Event/Form/SpeakerType.php index 73b9642aa..a20cfb09b 100644 --- a/sources/AppBundle/Event/Form/SpeakerType.php +++ b/sources/AppBundle/Event/Form/SpeakerType.php @@ -47,7 +47,7 @@ public function __construct( public function buildForm(FormBuilderInterface $builder, array $options): void { $builder - ->add('civility', ChoiceType::class, ['choices' => ['M' => 'M', 'Mme' => 'Mme']]) + ->add('civility', ChoiceType::class, ['choices' => ['M' => 'M', 'Mme' => 'Mme'], 'strict' => true]) ->add('firstname', TextType::class) ->add('lastname', TextType::class) ->add('email', EmailType::class) diff --git a/sources/AppBundle/Event/Form/SponsorTicketType.php b/sources/AppBundle/Event/Form/SponsorTicketType.php index 6612ddb7d..cac5a90aa 100644 --- a/sources/AppBundle/Event/Form/SponsorTicketType.php +++ b/sources/AppBundle/Event/Form/SponsorTicketType.php @@ -23,7 +23,8 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'choices' => [ 'M.' => 'M.', 'Mme' => 'Mme' - ] + ], + 'strict' => true ]) ->add('firstname', TextType::class, [ 'label' => 'Prénom' @@ -46,13 +47,15 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'required' => true, 'constraints' => [new NotBlank()], 'choices' => array_flip($transportMode), + 'strict' => true, ]) ->add('transport_distance', ChoiceType::class, [ 'label' => 'La distance parcourue ?', 'placeholder' => '', 'required' => true, 'constraints' => [new NotBlank()], - 'choices' => array_flip(Ticket::TRANSPORT_DISTANCES) + 'choices' => array_flip(Ticket::TRANSPORT_DISTANCES), + 'strict' => true ]); } } diff --git a/sources/AppBundle/Event/Form/TalkType.php b/sources/AppBundle/Event/Form/TalkType.php index 181318b28..ccec2ad9d 100644 --- a/sources/AppBundle/Event/Form/TalkType.php +++ b/sources/AppBundle/Event/Form/TalkType.php @@ -38,14 +38,16 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'choices' => [ 'Conférence plénière (40 mn)' => Talk::TYPE_FULL_LONG, 'Conférence plénière (20 mn)' => Talk::TYPE_FULL_SHORT, - ] + ], + 'strict' => true ]) ->add('skill', ChoiceType::class, ['label' => 'Niveau requis', 'choices' => [ 'Débutant' => Talk::SKILL_JUNIOR, 'Intermédiaire' => Talk::SKILL_MEDIOR, 'Avancé' => Talk::SKILL_SENIOR, 'N/A' => Talk::SKILL_NA - ] + ], + 'strict' => true ]); if (!$options[self::IS_AFUP_DAY]) { @@ -79,7 +81,8 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'label' => "Autoriser l’AFUP à transmettre ma proposition de conférence à ses antennes locales ? Les équipes des antennes AFUP peuvent être intéressées par votre sujet en vue d’un événement local (meetup, Super Apéro PHP, soirée d’élection dans l’antenne...) - et pourrait aimer vous inviter dans leur ville." + et pourrait aimer vous inviter dans leur ville.", + 'strict' => true ]) ->add('save', SubmitType::class, ['label' => 'Sauvegarder']); } diff --git a/sources/AppBundle/Event/Form/TicketType.php b/sources/AppBundle/Event/Form/TicketType.php index e42d87750..77d132292 100644 --- a/sources/AppBundle/Event/Form/TicketType.php +++ b/sources/AppBundle/Event/Form/TicketType.php @@ -75,7 +75,8 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'choices' => [ 'M.' => 'M.', 'Mme' => 'Mme' - ] + ], + 'strict' => true ]) ->add('firstname', TextType::class, [ 'label' => 'Prénom' @@ -94,6 +95,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'label' => 'Antenne de prédilection', 'required' => false, 'choices' => array_flip($this->antennesCollection->getOrderedLabelsByKey()), + 'strict' => true, ]) ; @@ -132,6 +134,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'choices' => $filteredEventTickets, 'choice_label' => 'ticketType.prettyName', 'error_bubbling' => false, + 'strict' => true, 'choice_attr' => function (TicketEventType $type, $key, $index) use ($options, $event): array { $attr = [ 'data-description' => $type->getDescription(), @@ -165,12 +168,14 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'label' => 'Quel est votre mode de transport ?', 'required' => true, 'choices' => ['' => ''] + array_flip($transportMode), + 'strict' => true, ]); $builder->add('transportDistance', ChoiceType::class, [ 'label' => 'Quelle sera la distance parcourue ?', 'required' => true, 'choices' => ['' => ''] + array_flip(Ticket::TRANSPORT_DISTANCES), + 'strict' => true, ]); } diff --git a/sources/AppBundle/Planete/FeedFormType.php b/sources/AppBundle/Planete/FeedFormType.php index 19f4cd911..1f3a55d1e 100644 --- a/sources/AppBundle/Planete/FeedFormType.php +++ b/sources/AppBundle/Planete/FeedFormType.php @@ -57,10 +57,12 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'label' => 'Personne physique', 'required' => false, 'choices' => $users, + 'strict' => true, ]) ->add('status', ChoiceType::class, [ 'label' => 'Etat', 'required' => true, + 'strict' => true, 'choices' => [ 'Actif' => Feed::STATUS_ACTIVE, 'Inactif' => Feed::STATUS_INACTIVE, diff --git a/sources/AppBundle/Site/Form/NewsFiltersType.php b/sources/AppBundle/Site/Form/NewsFiltersType.php index c7daa2af9..4c7dbc1ca 100644 --- a/sources/AppBundle/Site/Form/NewsFiltersType.php +++ b/sources/AppBundle/Site/Form/NewsFiltersType.php @@ -39,6 +39,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'multiple' => true, 'expanded' => true, 'choices' => $yearValues, + 'strict' => true, ] ) ->add( @@ -49,6 +50,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'multiple' => true, 'expanded' => true, 'choices' => array_flip(Article::getThemesLabels()), + 'strict' => true, ] ) ->add( @@ -59,6 +61,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'multiple' => true, 'expanded' => true, 'choices' => array_flip($this->articleRepository->getEventsLabelsById()), + 'strict' => true, ] ) ->add('submit', SubmitType::class, ['label' => 'Filtrer']) diff --git a/sources/AppBundle/Site/Form/RubriqueType.php b/sources/AppBundle/Site/Form/RubriqueType.php index 6b5fe64db..fb2a4c9ad 100644 --- a/sources/AppBundle/Site/Form/RubriqueType.php +++ b/sources/AppBundle/Site/Form/RubriqueType.php @@ -115,12 +115,14 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'label' => 'Parent', 'choices' => $rubriques, 'required' => false, + 'strict' => true, 'constraints' => [ new Assert\Type("integer"), ], ]) ->add('idPersonnePhysique', ChoiceType::class, [ 'required' => false, + 'strict' => true, 'label' => 'Auteur', 'choices' => $users, 'constraints' => [ @@ -141,6 +143,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void ]) ->add('position', ChoiceType::class, [ 'required' => false, + 'strict' => true, 'label' => 'Position ', 'choices' => $positions, 'constraints' => [ @@ -156,6 +159,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void ->add('etat', ChoiceType::class, [ 'label' => 'Etat', 'required' => false, + 'strict' => true, 'choices' => [ 'Hors ligne' => -1, 'En attente' => 0, @@ -168,6 +172,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void ->add('feuilleAssociee', ChoiceType::class, [ 'label' => 'Feuille associée', 'required' => false, + 'strict' => true, 'choices' => $feuilles, 'constraints' => [ new Assert\Type("integer"), diff --git a/sources/AppBundle/SpeakerInfos/Form/HotelReservationType.php b/sources/AppBundle/SpeakerInfos/Form/HotelReservationType.php index 1433eefe7..c885ff9ff 100644 --- a/sources/AppBundle/SpeakerInfos/Form/HotelReservationType.php +++ b/sources/AppBundle/SpeakerInfos/Form/HotelReservationType.php @@ -66,6 +66,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void 'expanded' => true, 'multiple' => true, 'choices' => $choices, + 'strict' => true, 'constraints' => [ new Choice(['choices' => array_values($choices), 'multiple' => true, 'min' => 1]), new Callback(['callback' => function ($values, ExecutionContextInterface $context): void { diff --git a/sources/AppBundle/SpeakerInfos/Form/SpeakersDinerType.php b/sources/AppBundle/SpeakerInfos/Form/SpeakersDinerType.php index 2265a8ae8..132b48e1a 100644 --- a/sources/AppBundle/SpeakerInfos/Form/SpeakersDinerType.php +++ b/sources/AppBundle/SpeakerInfos/Form/SpeakersDinerType.php @@ -22,6 +22,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void [ 'label' => 'Serez-vous des nôtres ?', 'expanded' => true, + 'strict' => true, 'choices' => [ 'Oui' => 1, 'Non' => 0, @@ -34,6 +35,7 @@ public function buildForm(FormBuilderInterface $builder, array $options): void [ 'label' => 'Régime alimentaire', 'expanded' => true, + 'strict' => true, 'choices' => [ "Non, je n'ai pas de régime alimentaire particulier" => 0, "J'ai un régime alimentaire particulier / des contraintes alimentaires" => 1,