我创建了一个名为BookType
的FormType
类。生成表单的方法是:
/**
* @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))
;
}
但是,每当我尝试使用以下代码访问它时:
$book = new Book();
$form = $this->createForm(
new BookType(true),
$book,
[
'action'=> $request->getUri()
]
);
我看到以下错误消息:
据我从选项"必需"不存在。已知选项包括:"吸引力"、"auto_initialize"、"block_name"、"禁用"、"标签"、"translation_domain"、"validation_groups"。
我阅读的各种教程中了解到,这应该是一个完全有效的参数。我错了吗?
我认为这里发生了错误:
->add('submit', 'submit', array('required'=>$this->searchForm));
由于'submit'
字段没有'required'
选项。