如何覆盖实体选择字段的默认验证消息?

时间:2011-09-07 12:06:37

标签: php symfony

我在User实体中定义了外键:

/**
 * @ORM\ManyToOne(targetEntity="Region")
 */
protected $region;

我想将它作为选择字段用于表单。

$builder->add('region');

实际上这很有效,直到我想验证选择是否是有效的实体ID。事实上,这也很有效,但我收到This value is not valid错误消息,我需要覆盖/翻译它,我不知道如何。这是某种自动验证。从逻辑上讲,如果我设置@Assert\Choice...,我会说它应该是可以覆盖的,但即使我尝试使用虚拟值(message="You shall not pass", choices={1,2}),它似乎完全忽略它。

1 个答案:

答案 0 :(得分:0)

使用消息参数:

@Assert\Choice(message="This is not a valid region")

或者multipleMessage参数,如果您允许多个选择:

@Assert\Choice(multipleMessage="...")

请参阅http://symfony.com/doc/2.0/reference/constraints/Choice.html