如何转换表单验证错误(从表单实体中的断言)



安全错误很容易翻译:

{{ error.messageKey|trans(error.messageData, 'security', 'fr') }}

但是如何以类似的方式翻译(如果它可能在twig模板中)表单验证错误,我可以以这种方式打印:

{{ form_errors(form.oneOfFormField) }}

我找不到关于如何翻译表单验证错误的信息(从断言的形式实体)使用已经存在的翻译文件在目录:SymfonyProjectNamevendorsymfonysymfonysrc symfony ComponentValidatorResourcestranslationsvalidators.fr.xlf。例如,当在表单实体我有:

/**
* @AssertLessThan(100)
*/
public $oneOfFormField;

在form中,我可以得到以下错误消息:"This value应该小于100."。如何通过使用上述文件翻译它。我使用Symfony 3.1,但Symfony2的解决方案通常也工作。

我找到了一个解决方案:

$this->get('translator')->setLocale('pl');

阅读更多:https://symfony.com/doc/current/components/translation/usage.html

最新更新