Проверки
validate проверяет значение, не меняя его.
Параметры
| Параметр | Назначение | По умолчанию |
|---|---|---|
operation | check или schema | Обязательно |
value | Проверяемое значение | Обязательно |
op, expected | Оператор и ожидаемое значение для check | Обязательно для check |
schema | JSON Schema 2020-12 для schema | Обязательно для schema |
on_invalid | fail — остановить; return — вернуть ошибки | fail |
message | Пояснение ошибки | Не задано |
Пример
- 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 возвращает ошибки как данные. Операторы описаны в архитектуре.
Некорректная схема, несовместимые типы и недопустимое регулярное выражение считаются ошибкой настройки независимо от on_invalid. Внешние схемы не загружаются.
Параметры операций
Оставляем общий оператор op + явный expected и режим on_invalid. expected: null — полноценное сравнение с null, а не отсутствие параметра. Проверки чисел не принимают boolean как число; для остальных операторов типы также явные. Пути ошибок — JSON Pointer, пустой путь означает корень.
JSON Schema — базовая возможность выбранного пакета validate. Проверка собственных контрактов workflow остаётся в ядре независимо от этого блока. Отдельные параметры под каждый валидатор не добавляем: структурные ограничения задаёт схема, а результат для исправления остаётся единым errors.
Плагины и установка
В составе блока: Условия и проверки JSON Schema.
| Плагин | Возможности |
|---|---|
formats | Дополнительные форматы, включая email и международные доменные имена |
Список поддержанных форматов объявляется явно. Запрос проверки отсутствующего формата отклоняется как настройка; молча считать значение проверенным нельзя.