如何在Symfony2回调验证错误消息上启用翻译?

时间:2012-12-09 07:07:21

标签: validation symfony translation

我在项目的早期,我已经创建了一些基本功能,包括自定义回调验证器(验证结束日期是在开始日期之后)。我已经开始重构以启用翻译。到目前为止,我没有任何问题......直到我开始寻找翻译我的自定义回调验证。

我在线阅读了一篇帖子,声称我可以将我的翻译键值作为我的错误信息,而Symfony会自动翻译......但对我来说似乎并非如此。有人可以告诉我如何或提供文档链接,以便在我的自定义验证中启用翻译吗?

这是我当前的验证码,其中包含翻译键:

<?php
namespace CG5\BFG\CoreBundle\Validators;

use Symfony\Component\Validator\ExecutionContext;

class EndDateValidator
{
    static public function isEndDateValid($entity, ExecutionContext $context)
    {
        if ($entity->getEndDate() <= $entity->getStartDate())
            $context->addViolationAtSubPath('endDate', 'validation.invalid.enddate', array(), null);
    }
}

1 个答案:

答案 0 :(得分:8)

我遇到了同样的问题。因为symfony2在“验证器”目录中查找这些消息,所以您必须将自定义错误消息也放在该目录中。例如,在app / Resources / translations / validators.en.yml。

您需要清除缓存以使其正常工作。