使用ManyToOne验证

Eko*_*Eko 1 forms validation symfony-forms symfony

我有一个实体"元素"与List的ManyToOne关系(列表可以有多个元素)

/**
 * @ORM\ManyToOne(targetEntity="Liste")
 */
private $list;
Run Code Online (Sandbox Code Playgroud)

如何通过传递列表的id而不是列表本身来验证表单以添加新元素?(列表必须存在)

Dev*_*key 5

在过去(2.8之前),我们能够设置cascade_validation标志,然后验证任何子对象预先存在.这充其量只是打击和错过.

没过,正确的方法是执行以下操作(注意valid约束):

来自文档

use use Symfony\Component\Validator\Constraints as Assert;

class stuff 
{
    // ....

    /**
     * @ORM\ManyToOne(targetEntity="Liste")
     * @Assert\Valid
     */
    private $list;

    // ....
}
Run Code Online (Sandbox Code Playgroud)

这将强制框架调用您在相关实体上的任何验证器.

这可以从symfony 2.7获得