gpt4 book ai didi

Symfony2 验证器消息 : Which variables are available?

转载 作者:行者123 更新时间:2023-12-02 16:55:12 25 4
gpt4 key购买 nike

此时,我正在使用 Symfony Validator 组件在我的实体类中使用注释来实现验证。

Symfony 文档显示您可以使用某些占位符通过消息传递变量,并且这些消息可以由 Translator 组件进行翻译。

例如,可以编写以下注释:

/**
* Assert\Length(
* min = 5,
* max = 10,
* minMessage = "Title too short: {{ limit }}",
* maxMessage = "Title too long: {{ limit }}"
*/
protected $title;

这工作正常,但我想知道您可以使用哪些类型的占位符?是否可以创建自定义占位符?

我知道 {{ value }} 占位符存在(并且有效),但它不在 Symfony 的有关如何使用长度验证的文档页面上。

我想使用 {{ key }}{{ name }} 等占位符标记来传递字段的技术名称(在本例中) “title”),这样我就可以将我的 minMessage 写为 minMessage = "{{ field }} 太短:{{ limit }}"

我尝试检查 Symfony 的标准组件以了解如何处理这些占位符,但我找不到可用的正确变量列表。

请帮助我! T_T

最佳答案

如果您查看作为示例发布的 LengthValidator 的代码,您会发现这些“变量”只是在其自己的 Validator 类中替换的静态字符串。

因此,所有都是自定义的,这也可能是没有可用列表的原因。

类(class):

https://github.com/symfony/Validator/blob/master/Constraints/LengthValidator.php

相关片段:

if (null !== $constraint->max && $length > $constraint->max) {
$this->buildViolation($constraint->min == $constraint->max ? $constraint->exactMessage : $constraint->maxMessage)
->setParameter('{{ value }}', $this->formatValue($stringValue))
->setParameter('{{ limit }}', $constraint->max)
->setInvalidValue($value)
->setPlural((int) $constraint->max)
->setCode(Length::TOO_LONG_ERROR)
->addViolation();
return;
}

关于Symfony2 验证器消息 : Which variables are available?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27703395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com