小编Bra*_*klg的帖子

Symfony2 + Doctrine - 验证一对多实体集合

我有一个表单来创建一个新实体.该实体还有一系列其他实体,这些实体也以该形式输入.

我想使用集合中实体的验证选项来验证这些实体,但它不起作用.检查"主"实体(Person)的验证规则,但addressList不检查集合(Address)中实体的验证规则.当我在字段中输入无效信息时,已成功验证提交的表单.

在此示例中,街道的注释不用于验证.

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;

    ...

}
Run Code Online (Sandbox Code Playgroud)

如何获取表单以验证提供的地址实体?

collections validation doctrine one-to-many symfony

13
推荐指数
4
解决办法
9062
查看次数

标签 统计

collections ×1

doctrine ×1

one-to-many ×1

symfony ×1

validation ×1