从表单输入中检索数据

问题描述 投票:-1回答:2

我想从使用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中的样子。

enter image description here

我试图从form_uploader_date输入中获取数据 但这行代码:

$date = $form->get('form_uploader')->getData();

or:

$date = $form->get('form_uploader[date]')->getData();

似乎没有工作... 我不知道该怎么办......

php forms symfony
2个回答
2
投票

你处理了请求吗?你应该做这样的事情。

$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 +)功能,使用漂亮的格式转储你的内容。

© www.soinside.com 2019 - 2024. All rights reserved.