Хабр Курсы для фронтендеров
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!

email: z.string().email(),Такой вариант в новой версии zod уже помечен как устаревший, так что в статье наверное лучше об этом указать или исправить.
Спасибо за комментарий!
Да, такой формат рабочий, но устарел и лучше использовать email: z.email() для проверки почты.
Если же нам нужно сначала получить ошибку пустого поля, а потом некорректности email, то можно использовать такую конструкцию:email: z.string().nonempty("Поле обязательно").check(z.email("Некорректный email"))
Внес правки в статью.
Структура против хаоса — практическая валидация форм с помощью Zod