6
我在一个项目的早期,我已经创造了一些基本功能,包括自定义的回调验证(验证结束日期开始日期之后)。我从此开始重构以启用翻译。我到目前为止没有问题,直到我开始翻译我的自定义回调验证。如何启用Symfony2的回调验证错误消息的翻译?
我看了一个帖子在网上声称,我可以把我的翻译键值为我的错误消息,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);
}
}
是啊,有:d,并已清除缓存多次 '验证: 无效: 结束日期:结束日期必须在之后开始Date' – Chris
的翻译文件是“应用程序/资源/翻译/ validators.en .yml“,我的回答是错误的。你在那个文件中有翻译吗?我在我的实体上使用了一种方法。你尝试过吗? http://symfony.com/doc/2.0/reference/constraints/Callback.html - > – vincecore
我使用我的回调(静态函数)所列的第二个方法,因为我想这个验证第一种方法适用于所有我的具有开始/结束日期的实体。将我的messages.en.yml复制到validators.en.yml后,它开始工作。非常感谢您提供validators.en.yml。我没有看到在文档页面上提到的,所以感谢您知道这一点:D – Chris