AIKraft/Skills/Safe Action: ошибки валидации

Safe Action: ошибки валидации

Use when working with validation errors -- returnValidationErrors, formatted vs flattened shapes, custom validation error shapes, throwValidationErrors, or displaying field-level and form-level errors

next-safe-action official Другое

Что делает навык

Навык обеспечивает обработку ошибок валидации в Next-safe-action, поддерживая как автоматическую проверку схемы, так и ручную через returnValidationErrors. Он позволяет формировать ошибки на уровне полей и всей формы, а также отображать их в отформатированном или упрощенном (flattened) виде.

Когда применять

  • Проверка бизнес-правил после успешной валидации схемы, например, проверка уникальности email или username в базе данных.
  • Вывод общих ошибок формы, не привязанных к конкретным полям, с использованием _errors на корневом уровне.
  • Отображение ошибок валидации в UI, используя структуру result.validationErrors для полей или формы.
  • Использование returnValidationErrors для генерации структурированных ошибок, которые автоматически перехватываются фреймворком.

Как работает

  1. Определите inputSchema с помощью z.object() для автоматической валидации входящих данных.
  2. В серверной функции действия проверьте бизнес-правила после прохождения схемной валидации.
  3. При нарушении правил вызовите returnValidationErrors(schema, { field: { _errors: ['message'] } }) для ошибок полей или { _errors: ['message'] } для ошибок формы.
  4. Обработайте результат на клиенте, обращаясь к result.validationErrors для получения ошибок в формате _errors или fieldErrors/formErrors.
  5. Отобразите ошибки в UI, итерируясь по массивам ошибок в соответствующих полях объекта validationErrors.

Примеры запросов агенту

Как реализовать проверку уникальности email с выводом ошибки валидации через returnValidationErrors?
Как отобразить ошибку формы на корневом уровне, если пользователь превысил лимит действий?
Как получить ошибки валидации в упрощенном (flattened) формате для отображения в React-компоненте?

Что понадобится

  • next-safe-action
  • React-компонент для отображения ошибок

Описание составлено по SKILL.md навыка, сверено 05.10.2026.

Как подключить

1Скачать навык
# возьмите папку навыка «safe-action-validation-errors» из репозитория: # https://github.com/next-safe-action/skills
2Положить папку с SKILL.md к навыкам ассистента
# положите папку навыка туда, где ассистент ищет skills: cp -r safe-action-validation-errors/ ~/.claude/skills/safe-action-validation-errors/

Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.