Документація / Валідація
Валідація
Схеми валідації виводяться з моделей. Всередині — Valibot.
Валідація генерується з моделі — окрему схему підтримувати не потрібно. Кожен CRUD POST/PUT/PATCH її застосовує.
Помилки повертають 400:
{
"error": "VALIDATION_ERROR",
"message": "Invalid body",
"details": {
"title": ["Invalid length: Expected >=3 but received 2"],
"content": ["Invalid key: Expected \"content\" but received undefined"]
}
}
Для власних маршрутів збирайте схему з моделі на вимогу:
import { buildModelSchema, validate } from '@hopak/core';
import postModel from '../models/post';
const schema = buildModelSchema(postModel, { omitId: true, partial: true });
const result = validate(schema, await ctx.body());
if (!result.ok) {
// result.errors: Record<field, string[]>
}