我正在为用户构建一个表单以提交 DMCA 投诉,其中一个设计要求是允许他们输入一个或多个 URL。为此,我创建了一个实体 (DMCAComplaint) 和一个以 Doctrine OneToMany 关系加入 DMCAComplaint 的子实体 (DMCAComplaintURL)。
为了通过正则表达式验证 URL 条目,我设置了以下断言:
// src: Bundle/Event/DMCAComplaintURL.php
/**
* @var string
*
* @ORM\Column(name="url", type="string", length=255, nullable=false)
* @Assert\Regex(
* pattern="/(https?:\/\/)?([\w].)*example.com(\/.*)?/"),
* message="Please enter a URL within our site"
* )
*/
protected $url;
在投诉中:
// src: Bundle/Entity/DMCAComplaint.php
/**
* @var \DMCAComplaintURL
*
* @ORM\OneToMany(targetEntity="DMCAComplaintURL", mappedBy="dmcaComplaint", cascade={"persist"})
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id", referencedColumnName="dmca_complaint_id")
* })
* @Assert\Valid
*/
protected $urls;
虽然断言有效,但它只给出以下错误:This value is not valid.
我希望它有一条自定义消息,如DMCAComplaintUrl $url
属性中所述。有没有办法让这个泡沫达到Valid
断言?或者我可以用别的东西来得到我需要的东西吗?