Symfony 由于表单验证,我不能在实体的setter中定义参数类型吗?
当将空值传递给表单中的Symfony 由于表单验证,我不能在实体的setter中定义参数类型吗?,symfony,Symfony,当将空值传递给表单中的标签字段时,我得到一个PHP错误,这是由Symfony试图将null传递给setter引起的 由于表单验证,我不能在实体的setter中定义参数类型吗 class MyEntity { ... /** * @var string * * @Assert\NotBlank() * @ORM\Column(type="string", length=128, nullable=false) */ pr
标签
字段时,我得到一个PHP错误,这是由Symfony试图将null传递给setter引起的
由于表单验证,我不能在实体的setter中定义参数类型吗
class MyEntity {
...
/**
* @var string
*
* @Assert\NotBlank()
* @ORM\Column(type="string", length=128, nullable=false)
*/
private $label;
....
public function setLabel(string $label): void
{
$this->label = $label;
}
...
如果希望实体处于有效状态,则不应将其与表单链接,必须使用表示表单的DTO对象,然后在表单有效时使用值更新实体 最简单的方法是更改setter/getter以能够返回/设置空值
public function setLabel(string $label = null): void
{
$this->label = $label;
}
public function getLabel(): ?string
{
return $this->label;
}
如果希望实体处于有效状态,则不应将其与表单链接,必须使用表示表单的DTO对象,然后在表单有效时使用值更新实体 最简单的方法是更改setter/getter以能够返回/设置空值
public function setLabel(string $label = null): void
{
$this->label = $label;
}
public function getLabel(): ?string
{
return $this->label;
}
一些提示/参考使用一些提示/参考使用