Zod: строгая валидация и удобная типизация. Опыт перехода
newsare.net
Привет, Хабр! Меня зовут Сергей, я фронтенд-инженер в Банки.ру.В этой статье расскажу, как Zod помог нам перестать писать валидацию на уровне полZod: строгая валидация и удобная типизация. Опыт перехода
Привет, Хабр! Меня зовут Сергей, я фронтенд-инженер в Банки.ру.В этой статье расскажу, как Zod помог нам перестать писать валидацию на уровне полей, подружился с React Hook Form и стал единым источником правды о структуре данных.К Zod мы пришли не сразу. Долгое время типы и валидация у нас жили в разных слоях приложения: TypeScript определял структуру данных во время разработки, а отдельные функции или библиотеки (вроде Yup) проверяли входящие значения в рантайме.Это классическая проблема: дублирование логики и рассинхрон. Типы в interface поменялись, а валидация осталась прежней (или наоборот). Мы пробовали Yup, но он казался громоздким в связке с TS: типы приходилось выводить вручную или мириться с тем, что схемы выглядят непрозрачно. В какой-то момент стало непонятно: зачем тащить отдельную библиотеку, если проще написать if (typeof x === 'string')?С переходом на Zod всё стало значительно проще: одна схема одновременно является и валидатором, и источником типа данных. Читать далее Read more












