我使用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(...);
这将只验证email
和password
字段。
关于验证组的文档在这里和这里