我正在使用symfony表单来验证登录数据,所以我把它绑定到实体类(它为所有成员定义了验证),我需要表单只验证电子邮件和密码部分。所以在表单类中,我不会将电子邮件和密码添加到表单中。但是,在提交数据时,它仍会验证它们并在表单顶部显示错误
如何在不更改实体类的情况下验证其他成员(城市,性别等)。
所以我的实体课有:姓名,电子邮件,性别,密码,城市。所有必填字段
使用电子邮件和密码登录表单。 我仍然得到其他两个
的错误答案 0 :(得分:2)
使用验证组......
实体类:
// 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
字段。