占位符在Symfony注释翻译消息中

时间:2016-03-24 19:37:18

标签: symfony assert

我正在使用带注释的Symfony并断言在表单中进行一些验证检查。使用以下注释我检查字段是否为空:

@Assert\NotBlank(message="not_blank")

这会以正确的语言生成一条消息,例如:

  

该字段不能为空

现在我想将字段名称添加为placeholer,因此我不需要为每个字段单独发送消息。如下所示:

@Assert\NotBlank(message="not_blank {{ name=email }}")

   <trans-unit id="1">
    <source>not_blank</source>
    <target>This {{ name }} field cannot be empty</target>
  </trans-unit>

在翻译文件中,它将是:

然后我可以输出:

  

电子邮件字段不能为空

如果可以,那么我不需要为每个字段制作单独的消息,例如:姓名,电子邮件,街道等。

1 个答案:

答案 0 :(得分:0)

如果您打开 @Assert \ NotBlank ,您可以看到:

class NotBlank extends Constraint
{
    public $message = 'This value should not be blank.';
}

因此您无法以其他方式使用它,但您可以通过扩展基本约束类Constraint来创建自定义约束

请参阅Tutorial