Symfony2"所选选项不存在"

chr*_*her 1 php symfony

我创建了一个FormType名为的类BookType.生成表单的方法是:

/**
 * @param FormBuilderInterface $builder
 * @param array $options
 */
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('name', 'text', array('required'=>$this->searchForm))
        ->add('author', 'text', array('required'=>$this->searchForm))
        ->add('genre', 'text', array('required'=>$this->searchForm));

    if(!$this->searchForm) {
        $builder
            ->add('picture', 'text', array('required' => false));
    }

    $builder
        ->add('description', 'text', array('required'=>$this->searchForm))
        ->add('submit', 'submit', array('required'=>$this->searchForm))
    ;
}
Run Code Online (Sandbox Code Playgroud)

但是,每当我尝试使用以下代码访问它时:

$book = new Book();
$form = $this->createForm(
    new BookType(true),
    $book,
    [
        'action'=> $request->getUri()
    ]
);
Run Code Online (Sandbox Code Playgroud)

我看到以下错误消息:

选项"required"不存在.已知选项包括:"attr","auto_initialize","block_name","disabled","label","translation_domain","validation_groups".

据我所知,从我读过的各种教程中,这应该是一个完全有效的参数.我错了吗?

小智 5

我认为错误发生在这里:

->add('submit', 'submit', array('required'=>$this->searchForm));
Run Code Online (Sandbox Code Playgroud)

由于'submit'字段没有'required'选项.