Symfony \ Component \ OptionsResolver \ Exception \ UndefinedOptionsException:选项“”不存在。已知的选项是:“”

时间:2017-05-25 15:02:27

标签: forms symfony unit-testing phpunit symfony-forms

这是我的表格

namespace AppBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;

class JoseType extends AbstractType
{
    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('nombre')
            ->add('apellido','entity', array(
                    // 'required'    => false,
                    'empty_value' => 'Select',
                    'mapped'      => false,
                    'class'       => 'AppBundle:SolutionTypeCategory',
                    'attr'        => array(
                                        'placeholder' => 'Select',
                                        'data-msg-required' => "Required Solution Type Category",
                                        ),
                ))
            ->add('edad')
        ;
    }

    /**
     * @param OptionsResolverInterface $resolver
     */
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'AppBundle\Entity\Jose'
        ));
    }

    /**
     * @return string
     */
    public function getName()
    {
        return 'appbundle_jose';
    }
}

我收到此错误

  

Symfony \ Component \ OptionsResolver \ Exception \ UndefinedOptionsException:选项“attr”,“class”,“empty_value”,“mapp”   ed“不存在。已知的选项是:”“。

以下是我的测试:

class ProjectTypeTest extends TypeTestCase
{
    public function testJose()
    {
        $type = new JoseType();
        $form = $this->factory->create($type);        
    }

    // get extensions...
    protected function getExtensions()
    {
        $mockEntityType = $this->getMockBuilder('Symfony\Bridge\Doctrine\Form\Type\EntityType')
            ->disableOriginalConstructor()
            ->getMock();

        $mockEntityType->expects($this->any())->method('getName')
                       ->will($this->returnValue('entity'));

        return array(new PreloadedExtension(array(
                $mockEntityType->getName() => $mockEntityType,
        ), array()));
    }

}

我不明白那个错误,看看表格的值数组选项。 为什么呢?

请帮帮我!

0 个答案:

没有答案