Конкретно для nested set of fields (важная деталь, которую я не вписал в предыдущий компентарий) не нашел. Уже не вспомню деталей, но вроде как зод не мог парсить строковой референс на вложенное поле, был тред на SO, решение - joi. По ощущениям, реально более гибкая декларация вышла.
Использовал в одном проекте, было все хорошо на простых формах, а потом мне понадобилась сложная форма, где дополнительный сет полей был опционален в зависимости от одного булевого поля, плюс валидность значений некоторых полей зависела от значений других (например, два datepicker, начало и конец, конец не может быть раньше начала). Долго пытался сделать, наткнулся на обсуждение каких-то ограничений в zod, и пересел на joi (joi.dev), который оказался более гибким.
Конкретно для nested set of fields (важная деталь, которую я не вписал в предыдущий компентарий) не нашел. Уже не вспомню деталей, но вроде как зод не мог парсить строковой референс на вложенное поле, был тред на SO, решение - joi. По ощущениям, реально более гибкая декларация вышла.
То есть, данные имели тип примерно
`{a:string; hasNested:boolean; nested: {start:Date; end:Date;}}`
По-моему, не работала связка с react-hook-form для
name='nested.start'Пишу с телефона, за точный синтаксис не поручусь.
Использовал в одном проекте, было все хорошо на простых формах, а потом мне понадобилась сложная форма, где дополнительный сет полей был опционален в зависимости от одного булевого поля, плюс валидность значений некоторых полей зависела от значений других (например, два datepicker, начало и конец, конец не может быть раньше начала). Долго пытался сделать, наткнулся на обсуждение каких-то ограничений в zod, и пересел на joi (joi.dev), который оказался более гибким.
Конференция была хорошая, немало актуальных для работы тем, кое-что удалось применить потом. Был в первый раз. Спасибо оргам и спикерам!
/ Чувак с медведем.