【发布时间】:2021-10-20 07:18:09
【问题描述】:
我正在尝试使用 PRE_SUBMIT 表单测试表单,我的 FormType 类如下所示:
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('productType', ChoiceType::class, [
'choices' => [
'Software' => 'software',
'Television' => 'television',
'Giftcard' => 'giftcard',
'Bitte wählen' => '',
],
])
->add('productNumber', TextType::class)
->add('title', TextType::class)
->add('submit', SubmitType::class);
$builder->addEventListener(
FormEvents::PRE_SUBMIT,
function (FormEvent $event)
{
$form = $event->getForm();
$data = $event->getData();
if ($data['productType'] === 'giftcard') {
$form->add('value', TextType::class);
}
}
);
}
我不知道怎么做,只有这样提交表单才能达到字段值。
$client->submitForm('Submit', [
'product[productType]' => 'giftcard',
'product[productNumber]' => 'C123123',
'product[title]' => 'TestCard',
]);
我不能像这样进行第二次提交。但是第一次提交后表单看起来很好。 希望有人可以帮助我或给我一些建议。
【问题讨论】:
标签: symfony addeventlistener form-submit functional-testing