symfony - 翻译自定义验证器消息
问题描述
我正在尝试翻译自定义约束消息:
<?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 }
但是现在如何用参数翻译消息?
解决方案
只需将翻译密钥放入实体中,因为$message
它是公开的:
/**
* @var string
*
* @ORM\Column(type="string")
* @AppAssert\YoutubeLink(
* message = "link.invalid_youtube"
* )
*/
protected $url;
推荐阅读
- python - 为什么我的命令不起作用(石头剪刀布)
- python - Python String to HTML Variable
- node.js - Twilio Conversations Media Message filename not saving
- azure-cognitive-search - Azure search Analyzer/Filter issues
- dexie - How to find entries between two dates?
- python - PermissionError [Errno13] on custom code for cerebral microbleed detection
- azure - Azure Data Factory Copy Data to Snowflake
- azure-api-management - Get Context Variable Value Api Manager Azure
- python - 在熊猫中选择两列都为0的记录
- marklogic - marklogic v7 中的某些功能在 marklogic 10 中缺失