Zod для валидации API и форм
HTML-код
- Опубликовано: 28 май 2024
- Если TypeScript работает только на этапе разработки, то библиотека Zod позволяет добавить строгости на этапе runtime и проверять корректность получаемых по сети данных, а также вводимых в форму значений. Библиотека идеально сочетается с TypeScript и делает приложения более надежными.
00:00 Введение
02:02 Валидация данных по API
12:25 Валидация формы
Мои курсы по вебу с купонами:
✅ mishanep.com/
📢 Поддержка канала:
/ mishanep
www.tinkoff.ru/rm/nepomnyasch...
paypal.me/mishanep
Не забрасывайте вашу работу в ютубе. Хорошо получается у вас
Спасибо за разбор актуального инструмента! Было бы здорово, если бы вы сделали видео о tRPC в целом и в сравнении с graphQL
Классная либа. Респект за обзор актуальной обвязки приложений! Надеюсь, рубрика будет постоянной)
Привет, Олег =) Давно тебя слышал =)
О какой рубрике ты говоришь?))
@@mishanep под новый год работой завалило)
Я сталкиваюсь с тем, что из-за ограниченности инструментов, которые мы используем в работе, пропускаешь какие-то интересные и полезные либы. А тут экспресс-обзор подъехал) я что-то про нее где-то мельком читал, но тут вдруг понял, что это надо тащить в проект, так как задолбался кастинг респонсов от сервера писать)) Так что тысяча благодарностей!)
Спасибо за такие видео, не знал до этого про такую библиотеку
Ух ты ) сначала пропустил мимо , но оказалась очередная годнота )
ты норм мужик. Спасибо. не мог понять как отловить ошибку. спасибо. мужик
Спасибо!
Middleware валидация через DTO, впервые столкнулся, когда начал изучать backend. Была идея реализовать похожий паттерн в CLIENT(SSR) < WebSocket > SERVER, но теперь на один велосипед меньше :D. Очень удобный и гибкий подход.
Только недавно видел короткий ролик про него у Web Dev Simplified. Но у тебя тема форм подробно раскрыта. Сам инструмент, походу, суперполезный для валидации входных данных, выведение типов - это киллерфича. По крайней мере, для фронта. Хотя на бэке тоже иногда нужно делать внешние запросы. Да и для обычной валидации DTO в том же nest вроде как есть nestjs-zod, и если для внешних запросов уже установил zod, то можно от class-validator отказаться.
Круто) было бы интересно еще инструкцию по firebase посмотреть. Регистрация пользователя и т.д. на чистом джс, без фреймворков. Я пока учусь и на групповом проекте такая таска была, толком так и не разобрался.
спасибо , прикольная вещь
надо будет посмотреть доку .
Для валидации форм обычно юзаем yup , но здесь эта либа может быть более универсально я так понял .
Понравился подход zod. К слову, можно выделить только один минус - завязка на синтаксис soda во всем проекте. В качестве альтернативы можно рассматривать решения на основе декораторов. class-from-any и другие. А для валидации форм использовать нативные возможности браузеров.
зафигарил у себя проверки через зод форм и данных. только вот оказалось, что как только обязательность одного поля зависит от заполненности другого, это вызывает проблемы, которые нужно решать через кастыли. показалось, что yup покрывает функционал зода и расширяет его и если у вас есть хоть одно поле с кейсом, как у меня, я бы советовал использовать yup.
Подскажите, этот Zod нужен только для формы? Это конкурент библиотек форм типа react-hook-form?
Нет. Можно вообще не использовать его для форм. На видео про формы не так много.
Глупый вопрос, очевидно что либу для валидации не контролируемых данных можно использовать для всего, get параметры, формы, ответы с сервера, локал сторадж и тд
Чем zod лучше и удобнее yup?
✊️✊️
Спасибо за видео. Я так понимаю на русском языке сообщение об ошибках вывести не получится при использовании Zod?
Смотря чего вы пытаетесь добиться. Допустим вы получили ошибку валидации, но для пользователя в UI вы можете отрисовать, что угодно.
@@mishanep ну мне все ошибки перевести тогда самой?
@@AlEgorova как вариант.
Супер либа, спасибо за обзор. Уже попадалась мне, когда разбирался как валидировать ответы с апи.
В чем отличие от Yup?
С Yup не работал. До этого использовал joi и superstruct. Вообще на сайте zod есть раздел с различиями относительно аналогичных инструментов, рекомендую обратиться за справкой туда.
Здравствуй, напиши пожалуйста проект на reactTs+ redux
Приветствую!
У меня есть таковой на платном курсе по TypeScript. Возможно в следующем году и на ютуб снова проекты появятся, но хлопотно это. Да и набор пожеланий по стеку у всех разный.
Все истинные шиноби используют чакра юай
Z