2016-07-06 59 views
1

我想翻譯範圍的以下錯誤消息: 此值應該是1990年1月1日,中午12:00或更多。Symfony 3翻譯錯誤驗證程序範圍

我使用的Symfony的,對於我的其他錯誤作品的功能,除了這一個:

$this->get('translator')->trans($err, [], 'validators')

我應該用別的東西來翻譯這個錯誤?

+1

$ err的值是多少?以及包含驗證器文件的內容? – Matteo

+1

您是否使用'@Assert \ Range'或類似的東西?如果是這樣,您可以通過在message =「my_range_message」中輸入id來簡單地翻譯消息,其中在您的'validators.en.yml','validators.fr.yml'等中找到'my_range_message'。驗證信息的翻譯應該在模型(實體)中比在控制器中完成,除非你有一些特定的要求。 – cezar

+0

@Matteo:我在$ err上有這個:這個值應該是1990年1月1日,12:00 AM或更多。 –

回答

4

如果我理解正確,就可以進行怎樣切扎爾建議,如例如,你可以使用註釋:

MyEntity.php

/** 
* @Assert\Range(
*  min = "now", 
*  max = "+5 hours", 
*  minMessage = "myMinMessage" 
*) 
*/ 
private $myDate; 

並添加翻譯的文件,例如:

validators.en.yml

myMinMessage: bla bla value should be {{ limit }} or more. You entered {{ value }} 

希望對您有所幫助

+1

是的非常感謝你 –