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