SubmitType sans validation du formulaire

172277
,

Bonjour,

J'ai un formulaire avec un bouton 'ajouter ligne commande qui est un submitType qui lui doit valider l'intégrité des infos renseignés et ajouter une commande en base et un second bouton submitType qui est 'valider commande(s)' qui doit passer à une nouvelle page avec un tableau récapitulatif des commandes ajoutées.

Vous l'aurez compris mon but est que le submit 'valider commande(s)' n'enclenche pas une validation des champs du formulaire.

Voici le code de base des deux submit:

            ->add('ajoutCommande', SubmitType::class, ['label'=>'Ajouter ligne commande'])
            ->add('validerCommandes', SubmitType::class, ['label'=>'Valider commande(s)'])

J'ai essayé plusieurs choses avant de venir poser la question ici:

validation_groups:

                        ->add('validerCommandes', SubmitType::class, ['validation_groups'=>false, 'label'=>'Valider commande(s)'])

novalidate dans twig:

   {{ form_row(form.validerCommandes, {attr: {novalidate:'novalidate', class: 'btn btn-success'}}) }}

Rien à faire lorsque je clique sur le bouton il m'indiqué que mon champ n'est pas renseigné: 'Veuillez sélectionner un élément de la liste.'
sur mon premier champ de formulaire.

Je me demande si le fait que la plupart de mes champs de formulaire soient des entityType qui ne sont pas nullable est la cause de mon malheur et je trouve ca dommage qu'on puisse pas prendre le controle sur ca simplement ...

Si vous avez une solution miracle je suis preneur :D !

merci

2 Réponse

17162
,

Bonjour.
Il y a une chose que j'ai du mal à comprendre, tes deux submit, ils sont dans le même formulaire ?
Car si c'est le cas, un formulaire n'est pas censé avoir plus d'un élément submit.

172277
,

En effet les deux submit sont dans le même formulaire et c'est tout à fait possible vu que la doc Symfony en parle:

https://symfony.com/doc/current/form/multiple_buttons.html

en dehors de la validation qui est forcé et que je n'arrive pas à déverouiller les deux boutons fonctionnent parfaitement.