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

Php Symfony表单验证实体的选定成员,php,symfony,symfony-2.2,Php,Symfony,Symfony 2.2,我使用symfony表单验证登录数据,因此我将其绑定到实体类(为所有成员定义了验证),并且我需要该表单仅验证电子邮件和密码部分。因此,在form类中,我不会将电子邮件和密码添加到表单中。但是,在提交数据时,它仍然会验证数据并在表单顶部显示错误 如何使其在不更改实体类的情况下不验证其他成员(城市、性别等) 我的实体类有:姓名、电子邮件、性别、密码、城市。所有字段都是必需的 带有电子邮件和密码的登录表单。 我仍然会收到其他两个使用验证组的错误 实体类: // src/Acme/BlogBundle/

我使用symfony表单验证登录数据,因此我将其绑定到实体类(为所有成员定义了验证),并且我需要该表单仅验证电子邮件和密码部分。因此,在form类中,我不会将电子邮件和密码添加到表单中。但是,在提交数据时,它仍然会验证数据并在表单顶部显示错误

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

我的实体类有:姓名、电子邮件、性别、密码、城市。所有字段都是必需的

带有电子邮件和密码的登录表单。
我仍然会收到其他两个使用验证组的错误

实体类:

// 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(...);
这将只验证
电子邮件
密码
字段


验证组上的文档是和

有效的,尽管我使用了不同的方法。我手动添加了验证器(比如Zend_表单),得到了一个数组而不是一个实体,并用它来检查凭证。