0

我正在使用 FOSUserBundle,但验证用户实体有问题。

在我的用户实体中,我有:

    /**
 * @Assert\NotBlank()
 * @Assert\File(
 *     maxSize="3M",
 *     mimeTypes={"image/png", "image/jpeg", "image/pjpeg"}
 * )
 * @Vich\UploadableField(mapping="profile_image", fileNameProperty="imageName")
 *
 * @var File $image
 */
protected $image;

有什么好处,但这让我在注册时无法工作:“* @Assert\NotBlank()” 什么是绝对正确的,因为我在注册时不填充图像。

用户注册时,控制器中的第一个条件是: if ($process) { // 如果表单有效,实际上是什么)并且因为没有图像,所以它无效...

我的问题是...

我已经成功覆盖了 RegistrationFormHandler 文件,但现在......如何修改它?或者该怎么做..也许在其他文件中?

    public function process($confirmation = false)
{
    $user = $this->userManager->createUser();
    $this->form->setData($user);

    if ('POST' == $this->request->getMethod()) {
        $this->form->bindRequest($this->request);
        if ($this->form->isValid()) {

            // do your custom logic here

            return true;
        }
    }

    return false;
}

我想像......这个字段的注册验证例外或类似的东西?IDK谢谢!

4

1 回答 1

1

使用验证组...

验证组可以针对不同的约束组合进行验证。

在您的情况下,为注册表单使用一个验证组,即“注册”(不包含图像/非空白约束),为您的个人资料编辑表单使用另一个验证组,即“配置文件”。

于 2013-06-09T05:08:50.350 回答