Skip to content

parseAsync ​

Асинхронная версия parse: возвращает данные или отклоняется с ValidationError. Нужна, если в схеме есть checkAsync.

Сигнатура ​

ts
function parseAsync<S extends Schema>(schema: S, value: unknown, options?: Options): Promise<Infer<S>>

Параметры ​

ПараметрТипОписание
schemaSchemaСхема, по которой проверяются данные
valueunknownЛюбые данные
optionsOptions{ all?: boolean } — как в validate

Возвращает ​

Promise с очищенными данными. Порядок выполнения проверок — как у validateAsync.

Пример ​

Обработчик с проверкой в базе ​

ts
app.post('/signup', async (req, res, next) => {
  try {
    const data = await parseAsync(Signup, req.body);
    await db.users.create(data);
    res.status(201).end();
  } catch (e) {
    next(e); // ValidationError обработает общий обработчик ошибок
  }
});

См. также ​