我在项目的早期,我已经创建了一些基本功能,包括自定义回调验证器(验证结束日期是在开始日期之后)。我已经开始重构以启用翻译。到目前为止,我没有任何问题......直到我开始寻找翻译我的自定义回调验证。
我在线阅读了一篇帖子,声称我可以将我的翻译键值作为我的错误信息,而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);
}
}
答案 0 :(得分:8)
我遇到了同样的问题。因为symfony2在“验证器”目录中查找这些消息,所以您必须将自定义错误消息也放在该目录中。例如,在app / Resources / translations / validators.en.yml。
下您需要清除缓存以使其正常工作。