I have a form with 2 submit
// src/Form/FooType.php$builder ->add('mainsubmit', SubmitType::class, []) ->add('extrasubmit', SubmitType::class, [])
In my controller, I do some different treatment depending of the submit pressed
// src/Controller/FooController.phpif ($form->isSubmitted() && $form->isValid()) { if ($form->get('extrasubmit')->isClicked()) { // do some extra stuff }
When I click on the extra button, I can see it the symfony Profiler in the request POST
parameters "extrasubmit" => ""
.
Everything works fine.
I'm doing functional tests with the crawler.Without trying to submit with the extra submit, it works fine, so we can assume my test doesn't have a typo.
How can I simulate the click on the extra submit ?
First Try:
$form = $crawler->filter('form')->form();// [...]$form['my_form_name[extrasubmit]'] = true;$httpClient->submit($form);// => InvalidArgumentException: Unreachable field "extrasubmit"
Second Try:
$form->get('my_form_name[extrasubmit]')->setValue("");// => InvalidArgumentException: Unreachable field "extrasubmit"