我有一个实体和一个表单,我想删除密码字段。
#[ORM\Column(
type: 'string',
name: 'password',
length: 20,
nullable: false
)]
#[Assert\NotBlank]
#[Assert\Length(
max: 20
nullable: true
)]
private string $password
我将其更改为下面的一个,并生成和运行迁移。
#[Gedmo\Versioned]
#[ORM\Column(
type: 'string',
name: 'password',
length: 20,
nullable: true
)]
private string $password;
删除它从窗体生成器以及小枝视图,但我得到**'这个值不应该是空白错误'**当提交表单。
2条答案
按热度按时间mqkwyuun1#
如果它是可空的,那么你应该试试这个
wn9m85ua2#
您需要使用验证组,以便可以排除密码字段。
你甚至可以一直包含密码字段-但是不要在
NotBlank
验证它。在你的控制器中,你测试是否为空,只有当不散列新密码时。例如:
查看验证组-如果我们没有ID,则处于“创建”模式,密码字段是强制性的。如果有ID,则处于编辑模式-并且密码不必再次设置。
并且作为示例,用户实体:
相关控制器部分: