Validation 如何在Symfony2(ImageValidator)中验证文件上载?

Validation 如何在Symfony2(ImageValidator)中验证文件上载?,validation,symfony,symfony-forms,Validation,Symfony,Symfony Forms,我目前正在开发一个应用程序,它使用最新版本的Symfony2。我在验证包含文件上载字段的表单时遇到一些问题 我的表单代码如下所示(缩短): 正如你在这里看到的,我想确保上传的文件是一个图像。我使用这样的形式: $form = $this->createForm(new \Trancefans\AdminBundle\Form\EventEditForm(), $event); 但在运行此代码时,我得到以下错误: 应为类型为array或Traversable和ArrayAccess的参数,

我目前正在开发一个应用程序,它使用最新版本的Symfony2。我在验证包含文件上载字段的表单时遇到一些问题

我的表单代码如下所示(缩短):

正如你在这里看到的,我想确保上传的文件是一个图像。我使用这样的形式:

$form = $this->createForm(new \Trancefans\AdminBundle\Form\EventEditForm(), $event);
但在运行此代码时,我得到以下错误:

应为类型为array或Traversable和ArrayAccess的参数,对象 给定

我真的不知道我的错在哪里。我完全按照文档中描述的那样做了。有人能帮我吗?:-)


顺便说一句:图像不是由事件实体表示的,而是表单的每个其他字段。我使用原则。

Symfony\Component\Validator\Constraints\CollectionValidator要求它验证的数据是一个数组或一个实现ArrayAccess和可遍历的对象

确保$event实例的类定义实现了
ArrayAccess
并可遍历,以便在调用
CollectionValidator::validate()
时,它可以访问您的值以相应地验证它们

$form = $this->createForm(new \Trancefans\AdminBundle\Form\EventEditForm(), $event);