我想从使用symfony创建的表单输入中获取数据。
这是我的FormUploaderType。
class FormUploaderType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('service', ChoiceType::class, [
'placeholder' => 'Wybierz serwis',
'choices' => [
'home' => 'home',
'az' => 'az',
'ionos.bg' => 'ionosbg',
'ionos.ro' => 'ionosro',
'ionos.hu' => 'ionoshu',
],
'mapped' => false,
])
->add('date', DateType::class)
->add('terms', FileType::class)
->add('button', SubmitType::class);
}
这里是我的表单在html中的样子。
我试图从form_uploader_date输入中获取数据 但这行代码:
$date = $form->get('form_uploader')->getData();
or:
$date = $form->get('form_uploader[date]')->getData();
似乎没有工作... 我不知道该怎么办......
你处理了请求吗?你应该做这样的事情。
$form = $this->createForm(CLASS);
$form->handleRequest($request);` // you should inject Request from HttpFoundation namespace
然后,验证你的请求是否是 POST
像这样。
if($form->isSubmitted() & $form->isValid()) {
$data = $form->getData();
// This array holds all your data.
// Use this instead of accesing each element as $form->get('property-name')->getData();
}
注意:如果你的表单类与一个entitymodel相关联,那么该表单将被映射到该类上。否则,它将只是一个数组。你不需要用这种方式来访问它。此外,你可以使用 dump()
或 dd()
(适用于Symfony 4.x +)功能,使用漂亮的格式转储你的内容。