Введение в валидацию в Nest
Пусть клиент присылает в теле запроса любой объект, а метод принимает его как есть. Неверный тип или лишнее поле дойдёт до кода страницы и сломает работу там, где проверку ещё не успели сделать.
Валидация отделяет приём данных от их разбора. Сначала объект сверяют со схемой: какие поля обязательны, какого они типа и какие значения допустимы. Только после успешной проверки метод получает уже готовый объект с нужными полями.
В этом разделе схему пишут на
Zod четвёртой версии. Она
умеет отдавать результат через
Standard Schema, общий
формат для разных библиотек.
Свой канал на маршруте читает тело,
вызывает проверку и либо передаёт
объект дальше, либо отвечает отказом.
Классы с декораторами полей и
встроенный канал фреймворка здесь
не используют. Правила лежат в одном
файле схемы, а на Body
вешают канал со ссылкой на эту схему.
Так проще менять поля и не дублировать
типы в нескольких местах.
На сайте с постами проверка нужна до сохранения новой записи: клиент не должен прислать пустое название или число вместо текста.