Skip to content

Commit 3b30c12

Browse files
fix error by using form data transformers
1 parent a86fa6d commit 3b30c12

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

features/bootstrap/FeatureContext.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ public function iRunTheCommandAndIProvideAsInput($name, TableNode $input)
5353

5454
/**
5555
* @Given /^I run the command "([^"]*)" and I provide as input "([^"]*)" with parameters$/
56-
* @Given /^parameters"$/
5756
*/
5857
public function iRunTheCommandAndIProvideAsInputAndParameters($name, $input, TableNode $parameters)
5958
{

src/Bridge/FormFactory/ConsoleFormWithDefaultValuesAndOptionsFactory.php

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
namespace Matthias\SymfonyConsoleForm\Bridge\FormFactory;
44

55
use Symfony\Component\Console\Input\InputInterface;
6+
use Symfony\Component\Form\Exception\TransformationFailedException;
67
use Symfony\Component\Form\Extension\Core\Type\FormType;
78
use Symfony\Component\Form\Extension\Csrf\Type\FormTypeCsrfExtension;
89
use Symfony\Component\Form\FormFactoryInterface;
@@ -45,7 +46,19 @@ public function create(string $formType, InputInterface $input, array $options =
4546
continue;
4647
}
4748

48-
$childBuilder->setData($providedValue);
49+
$value = $providedValue;
50+
51+
try {
52+
foreach ($childBuilder->getViewTransformers() as $viewTransformer) {
53+
$value = $viewTransformer->reverseTransform($value);
54+
}
55+
foreach ($childBuilder->getModelTransformers() as $modelTransformer) {
56+
$value = $modelTransformer->reverseTransform($value);
57+
}
58+
} catch (TransformationFailedException) {
59+
}
60+
61+
$childBuilder->setData($value);
4962
}
5063

5164
return $formBuilder->getForm();

0 commit comments

Comments
 (0)