Next.js, fieldErrors vs formError

Одна из полезных мелочей в формах на Next.js легко превращается в архитектурный вопрос. Ошибка поля и ошибка формы это не одно и то же. Пока они смешаны в одну строку, интерфейс начинает врать пользователю. Непонятно, нужно ли исправить конкретное значение или проблема вообще не в input.

fieldErrors отвечают за уровень поля. Пустой title, короткая строка, неверный формат, превышение длины. formError отвечает за уровень операции. Например, запись не сохранилась, сущность уже удалена, сервер временно недоступен, данные устарели. Эти два типа ошибок похожи только внешне. По смыслу это разные ситуации, и UI должен показывать их по-разному.

Как только это разделение появляется в контракте формы, поведение интерфейса становится заметно чище. Пользователь видит, что именно нужно исправить, а где от него уже ничего не зависит. На client и server такую модель тоже легче держать согласованной.

Статья на Хабр Проект: Workbench Stepik: Next.js II: TypeScript 2026

#nextjs #typescript #zod #forms #validation #approuter #react #вебразработка

Next.js, fieldErrors vs formError | Сетка — социальная сеть от hh.ru