0

我刚刚将我的 Symfony 从 2.5 更新到 2.7。我有一个实体,在这种情况下Product,它具有一些带有一些约束的属性,例如year.

    class Product {

        /**
         * @ORM\Column(type="float", nullable=true, options={"default" = 0.00})
         * @Assert\NotBlank( message = "product.year.notBlank")
         */
        private $year;
    }

我的消息正在从app/Resources/translations/validators.en.yml文件中翻译。但是现在,它不再尊重语言环境了。我有 2 个文件en版本和fr版本,但现在它只获取en版本。

它适用于我的表单中的任何标签,问题特定于验证器文件。

4

1 回答 1

0

它现在似乎正在工作。问题是我打电话给这个听众

projet_user.language.kernel_request_listener:
    class: Acme\DemoBundle\EventListener\LanguageListener
    tags:
        - { name: kernel.event_listener, event: kernel.request, method: setLocaleForUnauthenticatedUser }

现在我在listerner的setLocaleForUnauthenticatedUser函数中移动了函数的内容。onKernelRequest

projet_user.locale_listener:
    class: Acme\DemoBundle\EventListener\LocaleListener
    arguments: ["%kernel.default_locale%"]
    tags:
        - { name: kernel.event_subscriber }

似乎我用于未经身份验证的用户的请求现在被调用,并且影响了用户首选项定义的语言环境。我要做更多的测试并关闭票证。

于 2015-07-07T20:24:25.973 回答