7

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

我在网上阅读了一篇帖子,声称我可以将我的翻译键值作为我的错误消息,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);
    }
}
4

1 回答 1

9

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

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

于 2013-02-27T10:33:01.167 回答