---
referenceVersion: 2
---

# Проверки

`validate` проверяет значение, не меняя его.

## Параметры

| Параметр | Назначение | По умолчанию |
| --- | --- | --- |
| `operation` | `check` или `schema` | Обязательно |
| `value` | Проверяемое значение | Обязательно |
| `op`, `expected` | Оператор и ожидаемое значение для `check` | Обязательно для `check` |
| `schema` | JSON Schema 2020-12 для `schema` | Обязательно для `schema` |
| `on_invalid` | `fail` — остановить; `return` — вернуть ошибки | `fail` |
| `message` | Пояснение ошибки | Не задано |

## Пример

```yaml [Фрагмент формата v2]
- id: check
  block: validate
  params:
    operation: schema
    value: "{inputs.payload}"
    schema:
      type: object
      properties:
        title: {type: string, minLength: 1}
      required: [title]
    on_invalid: return
```

## Результат

`valid`, исходное `value`, `errors: [{path, code, message}]`. Например, `{check.errors}` можно передать в цикл исправления ответа модели.

## Поведение

`fail` останавливает путь при неуспешной проверке. `return` возвращает ошибки как данные. Операторы описаны в <a href="/doc/store" target="_self">архитектуре</a>.

Некорректная схема, несовместимые типы и недопустимое регулярное выражение считаются ошибкой настройки независимо от `on_invalid`. Внешние схемы не загружаются.

<span id="решения-по-параметрам"></span>

## Параметры операций

Оставляем общий оператор `op` + явный `expected` и режим `on_invalid`. `expected: null` — полноценное сравнение с `null`, а не отсутствие параметра. Проверки чисел не принимают boolean как число; для остальных операторов типы также явные. Пути ошибок — JSON Pointer, пустой путь означает корень.

JSON Schema — базовая возможность выбранного пакета `validate`. Проверка собственных контрактов workflow остаётся в ядре независимо от этого блока. Отдельные параметры под каждый валидатор не добавляем: структурные ограничения задаёт схема, а результат для исправления остаётся единым `errors`.

<span id="модули-и-поставка"></span>

## Плагины и установка

В составе блока: Условия и проверки JSON Schema.

| Плагин | Возможности |
| --- | --- |
| `formats` | Дополнительные форматы, включая email и международные доменные имена |

Список поддержанных форматов объявляется явно. Запрос проверки отсутствующего формата отклоняется как настройка; молча считать значение проверенным нельзя.
