Uuid

Дата обновления перевода 2023-01-13

Uuid

Валидирует, что значение является валидным Универсально-уникальным идентификатором (UUID) в RFC 4122. По умолчанию, будет влаидироваться формат, в соответствии с пособием RFC, но это может быть ослаблено, чтобы принимать нестандартые UUID, которые принимают другие системы (вроде PostgreSQL). Версии UUID также могут быть ограничены с использованием белого списка.

??????????? ? ???????? ??? ??????
????? Uuid
????????? UuidValidator

Базовое применение

  • Attributes
  • YAML
  • XML
  • PHP
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 $identifier;
}

Note

As with most of the other constraints, null and empty strings are considered valid values. This is to allow them to be optional values. If the value is mandatory, a common solution is to combine this constraint with NotBlank.

Опции

groups

type: array | string

It defines the validation group or groups of this constraint. Read more about validation groups.

message

тип: string по умолчанию: Это не валидный UUID.

Это сообщение отображается, если строка не является валидным UUID.

Вы можете использовать следующие параметры в этом сообщении:

???????? ????????
{{ value }} ??????? (??????????) ????????
{{ label }} ??????????????? ????? ???? ?????

normalizer

type: a PHP callable default: null

This option allows to define the PHP callable applied to the given value before checking if it is valid.

For example, you may want to pass the 'trim' string to apply the trim PHP function in order to ignore leading and trailing whitespace during validation.

payload

тип: mixed по умолчанию: null

Эта опция может быть использована, чтобы добавить к ограничению произвольные данные, относящиеся к домену. Сконфигурированная нагрузка не используется компонентом Валидатор, но его обработка полностью зависит от вас.

Например, вы можете захотеть исользовать несколько уровней ошибок, чтобы представить неудачные ограничения в фронт-энде по-разному, в зависимости от степени сложности ошибки.

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[] по умолчанию: [1,2,3,4,5]

Эта опция может быть использована только для разршения конкретных версий 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

6.2

Версии UUID 7 и 8 были представлены в Symfony 6.2.