【问题标题】:How do I translate form validation in Symfony 3?如何在 Symfony 3 中翻译表单验证?
【发布时间】:2016-08-08 06:23:16
【问题描述】:

使用 i18n 验证表单中的所有内容都很好,但无法弄清楚如何翻译表单验证。例如,现在当我尝试提交带有空字段的表单时,我收到弹出验证消息“请填写此字段。”

翻译已打开并启用注释:

// config_dev.yml
framework:
    router:
        resource: "%kernel.root_dir%/config/routing_dev.yml"
        strict_requirements: true
    profiler: { only_exceptions: false }
    translator: { fallback: en }
    validation: { enable_annotations: true }

实体被操纵用于验证注释:

namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
....
    /**
     * @var string
     * @Assert\NotBlank(message = "Custom validation error message")
     * @ORM\Column(name="url", type="string", length=512)
     */
    private $url;

我还在我的 app/Resources/translations 文件夹中创建了文件 validators.en.yml,但不知道从哪里开始。有人可以帮忙吗?

【问题讨论】:

  • 您从浏览器中看到消息,您甚至没有提交表单。这是一条 HTML5 验证消息,与 Symfony 无关。
  • @malcolm 该消息在您提交表单时出现。下一个答案....
  • 如果您看到带有 HTML5 验证消息的工具提示。 Symfony 验证消息在提交表单并重新加载/重定向页面后出现,但您知道得更好......如果您想知道,Symfony 中 not_blank 断言的默认消息是:“此值不应为空。”你会得到“请填写此字段”。来自浏览器的默认消息。
  • @malcolm 好的,是的,我的设置只会帮助为提交表单后返回的错误消息编写消息。诚然,我错了。如果您尝试提交空的必填字段,我需要了解如何翻译弹出的 HTML5 消息。嗯
  • 你可以用javascript来做。

标签: yaml symfony


【解决方案1】:

您可以翻译app/Resources/translations/validators.fr.xlf 中的验证消息(例如法语 xlf 翻译文件)

这里是您要查找的文档:http://symfony.com/doc/current/validation/translations.html

【讨论】:

    猜你喜欢
    • 2017-11-24
    • 1970-01-01
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    • 2017-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多