2016-07-06 5 views
1

Я хочу перевести следующее сообщение об ошибке: Это значение должно быть 1 января 1990 года, 12:00 или более.Symfony 3 Translate Validator Validator

Я использую функцию Symfony, которая работает для других моих ошибок, кроме этого один:

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

Должен ли я использовать что-то еще, чтобы перевести эту ошибку?

+1

Какова ценность $ err? и что содержат файлы валидаторов? – Matteo

+1

Вы используете '@Assert \ Range' или что-то подобное? Если это так, вы можете просто перевести сообщение, введя идентификатор в 'message =" my_range_message "', где 'my_range_message' находится в ваших' validators.en.yml', 'validators.fr.yml' и так далее. Переводы сообщений проверки должны выполняться в модели (сущности) rathen, чем в контроллере, если у вас нет конкретных требований. – cezar

+0

@Matteo: У меня это на $ err: Это значение должно быть 1 января 1990 года, 12:00 или более. –

ответ

4

Если я исправляю понимаю, вы можете продолжить как Cezar предложить, в качестве примера, вы можете использовать аннотацию:

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

Да, спасибо большое –