我注意到在使用 Symfony 2.3 选择字段类型时,如果我尝试提交无效选项(通过手动更改选项的值),symfony 会在该字段上报告一个表单错误,显示“此值无效” .
但是,我看不到在选择字段类型类中更改此消息的选项。我也没有为此字段设置验证约束。
此错误消息来自哪里,我该如何更改?
我注意到在使用 Symfony 2.3 选择字段类型时,如果我尝试提交无效选项(通过手动更改选项的值),symfony 会在该字段上报告一个表单错误,显示“此值无效” .
但是,我看不到在选择字段类型类中更改此消息的选项。我也没有为此字段设置验证约束。
此错误消息来自哪里,我该如何更改?
“The value is not valid”是表单字段转换失败导致的默认错误消息。在数据转换器失败的情况下,此错误消息与每个字段相关(在您的情况下,您似乎尝试发送无效的选择值)。如果要覆盖它,可以使用invalid_message
&invalid_message_parameters
表单类型选项。
我现在找不到该属性的官方文档,但您可以查看更多详细信息:link
消息来自选择约束,而不是选择字段类型类。
http://symfony.com/doc/current/reference/constraints/Choice.html
可以用您自己的消息覆盖消息选项。
在设置值有效或为空后,您可以获取要检查的参数值是否有效。
提交表单后获取字段值
$name = $request->request->get('name');
设置值对其有效后检查它是否有效
if (empty($name)) {
$request->request->set('name', 'your name');
}