2

我的实体中有一个回调方法

@Assert\Callback(methods={"isStudentsOK"}) 
....
public function isStudentsOK(ExecutionContext $context)
{
  if ( $this->students->isEmpty())
    $context->addViolationAtSubPath('students', 'Missing students informations', array(), null);
} 

我想在我的模板中翻译 le 消息。
{{ form_errors(form.student)|trans }}不起作用...我有这个

<span class="help-inline">Missing students informations</span>

这是一个错误吗?我能怎么做 ?

编辑

我自己找到了回复:

我已经安装了一个 BootstrapBundle 并{% block form_errors %}显示在一个跨度内

我已经覆盖了form_div_layout.html.twig模板。

4

1 回答 1

0

您的代码使用了 |trans 过滤器,所以我假设您使用的是 Twig i18n 扩展,而该扩展又使用 PHP 的 gettext 函数。

如果您的 PHP 代码生成消息,您不妨在那里进行翻译:

@Assert\Callback(methods={"isStudentsOK"}) 
....
public function isStudentsOK(ExecutionContext $context)
{
  if ( $this->students->isEmpty())
    $context->addViolationAtSubPath('students', _('Missing students informations'), array(), null);
} 

请注意错误消息中的下划线功能。这是“Trans”过滤器的 PHP 等效项。

于 2013-07-25T07:25:24.797 回答