提交无效选项时,Symfony选择字段类型报告“此值无效”。我该如何改变?

时间:2013-11-19 17:09:23

标签: symfony choicefield

我注意到在使用Symfony 2.3选择字段类型时,如果我尝试提交无效选项(通过手动更改选项的值),symfony会在该字段上报告“此值为”的表单错误无效”。

但是,我看不到在选择字段类型类中更改此消息的选项。我也没有为此字段设置验证约束。

此错误消息来自何处,以及如何更改?

3 个答案:

答案 0 :(得分:14)

句子“值无效”是表单字段转换失败的默认错误消息。如果数据转换器发生故障,则此错误消息与每个字段相关(在您的情况下,您似乎尝试发送无效的选择值)。如果您想覆盖它,可以使用invalid_message& invalid_message_parameters表单类型选项。

我目前无法找到此媒体资源的官方文档,但您可以查看详情:link

答案 1 :(得分:2)

消息来自选择约束,而不是选择字段类型类。

http://symfony.com/doc/current/reference/constraints/Choice.html

可以使用您自己的消息覆盖消息选项。

答案 2 :(得分:0)

您可以在设置值有效或为空后获取要检查的参数值是否有效。

提交表单后获取字段值

   $name = $request->request->get('name');

设置值对它有效后检查它是否无效

if (empty($name)) {
  $request->request->set('name', 'your name');
}