Перевести пользовательское сообщение валидатора - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь перевести пользовательское сообщение об ограничении:

<?php

namespace App\Validator\Constraints;

use Symfony\Component\Validator\Constraint;
use Symfony\Component\Translation\TranslatorInterface;

/**
 * @Annotation
 */
class YoutubeLink extends Constraint
{
    public $message = '"{{ string }}" is not a valid Youtube link';

    /**
     * @var TranslatorInterface
     */
    private $translator;

    public function __construct($translator)
    {
        $this->translator = $translator;
    }
}

Я ввожу переводчик:

services:
    App\Validator\Constraints\YoutubeLink:
        arguments: [ "@translator" ]
        tags:
            - { name: validator.constraint_validator, alias: validator.youtube_link }

Но как теперь перевести сообщение с аргументом?

1 Ответ

0 голосов
/ 08 февраля 2019

Просто введите ключ перевода в сущности, поскольку $message общедоступно:

/**
 * @var string
 *
 * @ORM\Column(type="string")
 * @AppAssert\YoutubeLink(
 *     message = "link.invalid_youtube"
 * )
 */
protected $url;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...