【问题标题】:Pluralization is not working on form's validation message in Symfony 2.3在 Symfony 2.3 中,复数化不适用于表单的验证消息
【发布时间】:2013-09-20 10:33:02
【问题描述】:

我正在使用 Symfony 2.3。

我在控制器中使用$this->createFormBuilder 创建了简单的订单。我正在验证一个 Doctrine 字段:

/**
 * @Assert\Length(min=3)
 */
protected $name;

但是,如果验证失败,我会在字段附近收到 duplicated 错误消息:

这个值太短了。它应该有 3 个或更多字符。|此值太短。它应该有 3 个或更多字符。

我的这个元素的模板很简单:

{{ form_errors(form.name) }}
{{ form_label(form.name) }}
{{ form_widget(form.name) }}

除了验证错误消息被重复之外,其他一切似乎都按预期工作。好像多元化行不通。有人对为什么会失败有建议吗?

编辑

似乎 SonataAdminBundle 正在覆盖 form_errors 块。如何从非奏鸣曲控制器中删除该覆盖?

【问题讨论】:

    标签: validation symfony translation sonata-admin symfony-sonata


    【解决方案1】:

    也许奏鸣曲的模板与原始模板的最新更改不同步。

    能否在 github 上创建 PR 或 issue,谢谢

    【讨论】:

      【解决方案2】:

      问题是我在config.yml 中设置了这个:

      # Twig Configuration
      twig:
          debug:            %kernel.debug%
          strict_variables: %kernel.debug%
      
          form:
              resources:
                  - 'SonataAdminBundle:Form:silex_form_div_layout.html.twig'
                  - 'SonataFormatterBundle:Form:formatter.html.twig'
      

      silex_form_div_layout.html.twig 覆盖 form_errors Twig 块,删除它可以解决问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-06-24
        • 2014-04-17
        • 2015-10-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-16
        • 2019-02-28
        相关资源
        最近更新 更多