跳到内容

UUID

编辑此页

验证值是否是符合 RFC 4122 标准的有效通用唯一识别码 (UUID)。默认情况下,这将根据 RFC 的指南验证格式,但可以放宽此限制以接受其他系统(如 PostgreSQL)接受的非标准 UUID。UUID 版本也可以使用允许的版本列表进行限制。

适用于 属性或方法
Uuid
验证器 UuidValidator

基本用法

1
2
3
4
5
6
7
8
9
10
// src/Entity/File.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;

class File
{
    #[Assert\Uuid]
    protected string $identifier;
}

注意

与大多数其他约束一样,null 和空字符串被认为是有效值。 这是为了允许它们成为可选值。 如果该值是强制性的,一个常见的解决方案是将此约束与 NotBlank 结合使用。

选项

groups

类型: array | string 默认值: null

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

message

类型: string 默认值: 这不是一个有效的 UUID。

如果字符串不是有效的 UUID,则会显示此消息。

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

参数 描述
{{ value }} 当前(无效)值
{{ label }} 对应的表单字段标签

normalizer

类型: 一个 PHP 可调用对象 默认值: null

此选项允许定义在检查给定值是否有效之前应用于该值的 PHP 可调用对象。

例如,你可能想要传递 'trim' 字符串以应用 trim PHP 函数,以便在验证期间忽略前导和尾随空格。

payload

类型: mixed 默认值: null

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

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

strict

类型: boolean 默认值: true

如果此选项设置为 true,则约束将检查 UUID 的格式是否符合 RFC 的输入格式规则:216fff40-98d9-11e3-a5e2-0800200c9a66。将其设置为 false 将允许其他输入格式,例如

  • 216f-ff40-98d9-11e3-a5e2-0800-200c-9a66
  • {216fff40-98d9-11e3-a5e2-0800200c9a66}
  • 216fff4098d911e3a5e20800200c9a66

versions

类型: int[]|int 默认值: [1,2,3,4,5,6,7,8]

此选项可用于仅允许特定的 UUID 版本(默认情况下,允许所有版本)。 有效版本为 1 - 8。除了使用数值之外,你还可以使用以下 PHP 常量来引用每个 UUID 版本

  • Uuid::V1_MAC
  • Uuid::V2_DCE
  • Uuid::V3_MD5
  • Uuid::V4_RANDOM
  • Uuid::V5_SHA1
  • Uuid::V6_SORTABLE
  • Uuid::V7_MONOTONIC
  • Uuid::V8_CUSTOM
本作品,包括代码示例,根据 Creative Commons BY-SA 3.0 许可协议获得许可。
目录
    版本