当您使用@Assert\NotBlank约束并且给定字段为空时,您会收到错误:
此值不应为空
我想在应用程序范围内更改此消息,而不更改Symfony2源代码.怎么做到这一点?
gil*_*den 20
Cutomizing验证错误消息非常简单,但一开始看起来很棘手.
默认语言环境
首先,您应该更改应用程序的默认语言环境.在版本2.0.x中,要更改的正确值是framework.session.default_locale.为了将来参考,从2.1.0开始它将是framework.default_locale.请参阅文档以获取正确的语法.
语言环境应包括你的语言和地区,并被定义为language_REGION(语言列表,国家列表).de_DE例如,德国用于德语的语言环境就是这样.
验证消息
验证消息在其各自的约束类中进行硬编码.
翻译验证消息
Symfony使用Twig呈现所有验证消息.该过程本身很复杂,不属于这个问题的范围,但重要的是每个约束消息都是通过翻译过滤器发送的,这取决于用户的语言环境(default_locale默认情况下)将消息翻译成正确的语言.
要更改任何翻译,简单地验证翻译文件从复制vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Resources/translations/validators.{lang}.xlf到app/Resources/translations/validators.{lang}.xlf这里{lang}是您的默认语言环境的语言部分.
完成前者之后,只需将默认消息更改为您认为更合适的消息.如果您需要支持的语言不存在,请将任何翻译文件复制到同一目录并修改该文件.
要阅读有关翻译如何在Symfony2中工作的更多信息,请访问有关翻译的官方文档.
| 归档时间: |
|
| 查看次数: |
7730 次 |
| 最近记录: |