我有一个表单用于创建新实体。该实体包含一组其他实体,这些实体也在该表单中输入。
我想使用集合中实体的验证选项来验证这些实体,但它不起作用。会检查“主”实体(人)的验证规则,但不会检查addressList
集合中实体(地址)的验证规则。当我在字段中输入无效信息时,提交的表单仍然能够通过验证。
在此示例中,街道注释未在验证中使用。
class Person
{
...
/**
* @ORM\OneToMany(targetEntity="Address", mappedBy="owner", cascade={"persist", "detach"})
*/
protected $addressList;
....
}
class Address
{
...
/**
* @ORM\ManyToOne(targetEntity="Person", inversedBy="addressList")
* @ORM\JoinColumn(name="person_id", referencedColumnName="id", onDelete="CASCADE")
*/
protected $owner;
/**
* @ORM\Column(type="string", length=75)
* @Assert\MinLength(
* limit=3,
* message="Street must have atleast {{ limit }} characters."
* )
*/
protected $street;
...
}
我该如何使表单验证所提供的地址实体?
'cascade_validation' => true
添加到PersonType的getDefaultOptions()
数组中来解决了这个问题。 - Bramklg