字符集
7.1
Charset 约束在 Symfony 7.1 中引入。
验证字符串(或实现 Stringable PHP 接口的对象)是否以给定的字符集编码。
应用于 | 属性或方法 |
类 | 字符集 |
验证器 | CharsetValidator |
基本用法
如果您想确保 FileDTO 类的 content 属性使用 UTF-8 编码,您可以这样做
1 2 3 4 5 6 7 8 9 10
// src/Entity/FileDTO.php
namespace App\Entity;
use Symfony\Component\Validator\Constraints as Assert;
class FileDTO
{
#[Assert\Charset('UTF-8')]
protected string $content;
}
选项
编码
类型: array
| string
默认值: []
要检查的编码或编码集。如果您传递编码数组,验证器将检查值是否以*任何*编码进行编码。此选项接受可以传递给 mb_detect_encoding PHP 函数的任何值。
消息
类型: string
默认值: 检测到的字符编码无效 ({{ detected }})。允许的编码是 {{ encodings }}。
如果值与任何接受的编码都不匹配,将显示此消息。
您可以在此消息中使用以下参数
参数 | 描述 |
---|---|
{{ detected }} |
检测到的编码 |
{{ encodings }} |
接受的编码 |
载荷
类型: mixed
默认值: null
此选项可用于将任意特定于域的数据附加到约束。配置的载荷不被 Validator 组件使用,但其处理完全取决于您。
例如,您可能希望使用几个错误级别,以便根据错误严重性在前端以不同方式呈现失败的约束。
本作品,包括代码示例,根据 Creative Commons BY-SA 3.0 许可获得许可。