表单元素上的Symfony2有效约束不显示自定义错误消息

时间:2013-03-25 15:40:58

标签: forms symfony doctrine-orm

我正在构建一个表单供用户提交DMCA投诉,其中一个设计要求是允许他们输入一个或多个网址。为此,我创建了一个实体(DMCAComplaint)和一个子实体(DMCAComplaintURL),它与Doctrine OneToMany关系中的DMCAComplaint连接。

为了通过regex验证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断言?或者我可以使用其他东西来获得我需要的东西吗?

1 个答案:

答案 0 :(得分:-1)

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

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