跳到内容

字符集

编辑此页

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 函数的任何值。

分组

类型: array | string 默认值: null

它定义此约束的验证组。阅读更多关于 验证组 的信息。

消息

类型: string 默认值: 检测到的字符编码无效 ({{ detected }})。允许的编码是 {{ encodings }}。

如果值与任何接受的编码都不匹配,将显示此消息。

您可以在此消息中使用以下参数

参数 描述
{{ detected }} 检测到的编码
{{ encodings }} 接受的编码

载荷

类型: mixed 默认值: null

此选项可用于将任意特定于域的数据附加到约束。配置的载荷不被 Validator 组件使用,但其处理完全取决于您。

例如,您可能希望使用几个错误级别,以便根据错误严重性在前端以不同方式呈现失败的约束。

本作品,包括代码示例,根据 Creative Commons BY-SA 3.0 许可获得许可。
目录
    版本