dodo
dodo

Reputation: 159

How can i solve the problem with FileType Key "class" for array with keys

I add to my form type FileType from Symfony\Component\Form\Extension\Core\Type\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'])    
        ;
    }

When I try run this, I have got this error:

Key "class" for array with keys "value, attr, form, id, name, full_name, disabled, label, label_format, multipart, block_prefixes, unique_block_prefix, translation_domain, cache_key, errors, valid, data, required, size, label_attr, help, help_attr, compound, method, action, submitted, type" does not exist.

Upvotes: 0

Views: 124

Answers (1)

Felippe Duarte
Felippe Duarte

Reputation: 15131

You can pass in attr parameter

$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'])    
;

More info in the docs: https://symfony.com/doc/current/reference/forms/types/form.html#attr

Upvotes: 1

Related Questions