2

我正在为用户构建一个表单以提交 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断言?或者我可以用别的东西来得到我需要的东西吗?

4

1 回答 1

-1

在表单字段中将 error_bubbling 设置为 true:

http://symfony.com/doc/current/reference/forms/types/text.html#error-bubbling

于 2013-03-25T16:00:09.147 回答