UUID

Дата оновлення перекладу 2022-12-20

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;
}

Дата оновлення перекладу 2022-12-20

Note

Як і в більшості інших обмежень, null та порожні рядки вважаються валідними значеннями. Це для того, щоб дозволити їм бути опціональними значеннями. Якщо значення є обовʼязковим, розповсюдженим рішенням буде комбінація цього обмеження з NotBlank.

Опції

Дата оновлення перекладу 2022-12-20

groups

тип: array | string

Визначаэ групу або групи валідації обмеження. Прочитайте більше про групи валідації.

message

тип: string за замовчуванням: This is not a valid UUID.

Це повідомлення відображається, якщо рядок не є валідним UUID.

Ви можете використати наступні параметри в цьому повідомленні:

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

Дата оновлення перекладу 2022-12-20

normalizer

тип: PHP-викличне за замовчуванням: null

Ця опція дозволяє вам визначати PHP-викличне, застосоване до заданого значення до перевірки, чи є воно валідним.

Наприклад, ви можете захотіти передати рядок 'trim' для застосування PHP-функції trim, щоб ігнорувати початкові та замикаючі пробіли під час валідації.

Дата оновлення перекладу 2022-12-20

payload

тип: mixed за замовчуванням: null

Ця опція може бути використана, щоб додати довільні дані, специфічні для домену, до обмеження. Сконфігуроване корисне навантаження не використовується компонентом 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[] за замовчуванням: [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

6.2

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