Symfony表单验证实体的选定成员


Symfony form validate selected members of entity

我使用symfony表单来验证登录数据,所以我将其绑定到实体类(它为所有成员定义了验证),并且我需要表单只验证电子邮件和密码部分。在表单类中,我没有向表单添加电子邮件和密码。但是,当提交数据时,它仍然会对它们进行验证,并在表单

的顶部显示错误。

如何在不更改实体类的情况下使其不验证其他成员(城市、性别等)?

这是我的实体类with: name, email,性别,密码,城市。所有字段必需

带有电子邮件和密码的登录表单。另外两个

还是会出现错误

使用验证组…

实体类:

// src/Acme/BlogBundle/Entity/User.php
namespace Acme'BlogBundle'Entity;
use Symfony'Component'Security'Core'User'UserInterface;
use Symfony'Component'Validator'Constraints as Assert;
class User implements UserInterface
{
    /**
    * @Assert'Email(groups={"registration"})
    */
    private $email;
    /**
    * @Assert'NotBlank(groups={"registration"})
    * @Assert'Length(min=7, groups={"registration"})
    */
    private $password;
    /**
    * @Assert'Length(min = "2")
    */
    private $city;
}

当你创建表单时:

$form = $this->createFormBuilder($users, array(
    'validation_groups' => array('registration'),
))->add(...);

这将只验证emailpassword字段。

关于验证组的文档在这里和这里