Yaml

Дата обновления перевода 2025-02-05

Yaml

Валидирует, что значение имеет валидный синтаксис YAML.

7.2

Ограничение Yaml было представлено в Symfony 7.2.

??????????? ? ???????? ??? ??????
????? Yaml
????????? YamlValidator

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

Ограничение Yaml можно использовать по отношению к свойству или методу "геттера":

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

use Symfony\Component\Validator\Constraints as Assert;

class Report
{
    #[Assert\Yaml(
        message: "Ваша конфигурация не содержит валидный синтаксис YAML."
    )]
    private string $customConfiguration;
}

Опции

flags

тип: integer по умолчанию: 0

Эта опция включает необязательные функции синтаксического анализатора YAML при валидации содержания. Ее значением может быть комбинация одного или нескольких
флажков, определенных компонентом Yaml :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// src/Entity/Report.php
namespace App\Entity;

use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\Yaml\Yaml;

class Report
{
    #[Assert\Yaml(
        message: "Ваша конфигурация не содержит валидный синтаксис YAML.",
        flags: Yaml::PARSE_CONSTANT | Yaml::PARSE_CUSTOM_TAGS | Yaml::PARSE_DATETIME,
    )]
    private string $customConfiguration;
}

message

тип: string по умолчанию: Это значение не является валидным YAML.

Это сообщение отображается, если исходные данные не являются валидным значением в формате YAML. Вы можете использовать следующие параметры в этом сообщении:

???????? ????????
{{ error }} ?????? ????????? ?? ?????? ?? ??????????? YAML
{{ line }} ??????, ? ??????? ????????? ?????? ?????????? YAML

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

groups

тип: array | string по умолчанию: null

Определяет группу или группы валидации ограничений. Прочитайте больше о группах валидации.

Дата обновления перевода 2025-02-05

payload

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

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

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