首页 > 解决方案 > 我如何解决带有键的数组的 FileType Key“类”问题

问题描述

我从 Symfony\Component\Form\Extension\Core\Type\FileType 添加到我的表单类型 FileType;

namespace App\Form;

use App\Entity\Order;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\FileType;


class OrderType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('subject',null,[
                'required' => true
            ])
            ->add('key')
            ->add('type')
            ->add('message')
            ->add('file',FileType::class)    
            ->add('submit', SubmitType::class, ['label' => 'Save'])    
        ;
    }

当我尝试运行它时,我收到了这个错误:

带有键“值、属性、表单、id、名称、全名、禁用、标签、标签格式、多部分、块前缀、唯一块前缀、翻译域、缓存键、错误、有效、数据、必需、大小、标签属性、帮助的数组的键“类” , help_attr, 复合, 方法, 动作, 提交, 类型”不存在。

标签: phpfilesymfony4

解决方案


可以传入attr参数

$builder
    ->add('subject',null,[
          'required' => true
    ])
    ->add('key')
    ->add('type')
    ->add('message')
    ->add('file', FileType::class, [  //<-----HERE
             'attr' => ['class'=>'myClass'],  //<-----HERE
    ]) //<-----HERE
    ->add('submit', SubmitType::class, ['label' => 'Save'])    
;

文档中的更多信息:https ://symfony.com/doc/current/reference/forms/types/form.html#attr


推荐阅读