Symfony2 ImageType表单错误

时间:2013-07-26 11:50:16

标签: php symfony symfony-forms symfony-2.3

我有一个这样的实体:

class Image
{

/**
 * Identifier
 *
 * @var int
 *
 * @ORM\Id
 * @ORM\Column(type="integer")
 * @ORM\GeneratedValue(strategy="IDENTITY")
 */
protected $id;

/**
 * Image path
 *
 * @var string
 *
 * @ORM\Column(type="string")
 */
protected $path;

/**
 * Image file
 *
 * @var \Symfony\Component\HttpFoundation\File\UploadedFile
 *
 * @Assert\File(maxSize="6000000")
 */
protected $file;

//GETTERS AND SETTERS
}

和其他实体有例如:

class User {
  protected $id;

/**
 * Avatar image
 *
 * @var Image
 *
 * @ORM\OneToOne(targetEntity="Vendor\MediaBundle\Entity\Image", cascade={"persist"})
 */
protected $avatar;
//GETTERS AND SETTERS
}

我的构建器用户表单类型如下所示:

$builder
        ->add('avatar', new ImageType(), array(
            'required' => false,

        ));

,ImageType如下所示:

$builder
        ->add('file', 'file', array('required' => false))
        ->add('order', 'hidden');

当我没有上传任何文件时,我收到此错误:

  

此表单不应包含额外字段。

,参数为“file”

让我发疯了......

1 个答案:

答案 0 :(得分:0)

如果您使用的是Symfony2.3,则this commit中存在错误。

Fix已于一小时前提交。

使用composer更新symfony:

./compser.phar update symfony/symfony

希望这有帮助