繁体   English   中英

Symfony将参数传递给验证器约束

[英]Symfony pass parameters into validator constraint's

我试图通过使用配置文件而不是硬编码的东西使我的应用程序变得灵活,并且遇到验证限制的麻烦:

/**
 * @var ArrayCollection[SubjectTag]
 *
 * @ORM\OneToMany(targetEntity="SubjectTag", mappedBy="subject")
 * @Assert\Count(max = 15, maxMessage = "You can't create more than 15 tags.")
 * @Assert\Valid()
 */
protected $tags;

这样做会更好:

/**
 * @var ArrayCollection[SubjectTag]
 *
 * @ORM\OneToMany(targetEntity="SubjectTag", mappedBy="subject")
 * @Assert\Count(max = "%subject.max_tags%", maxMessage = "You can't create more than %subject.max_tags% tags.")
 * @Assert\Valid()
 */
protected $tags;

但通过调试我发现我的参数从未恢复过。

有没有办法实现这个目标?

执行此操作的唯一方法是创建自定义验证约束:

http://symfony.com/doc/current/cookbook/validation/custom_constraint.html

您可以将所需的任何参数或服务注入验证器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM