Валидация формы на ZOD и ReactHookForm
Суть в том что есть некая форма, которая меняет валидацию в зависимости от одного поля и для него у меня сделан discriminatedUnion в zod
Но в данный момент понадобилось по некоторым литералам в схемах сделать еще одну валидацию:
const twoUnion = z.discriminatedUnion("checked", [
z.object({ checked: z.literal("true"), street: z.string() }),
z.object({ checked: z.literal("false"), street: z.string().trim().min(1, { message: 'Обязательное поле' }) }),
]);
const oneUnion = z.discriminatedUnion("type", [
z.object({ type: z.literal("001"), name: z.string(), checked: z.boolean() }),
z.object({ type: z.literal("002"), name: z.string(), checked: z.boolean() }),
z.object({ type: z.literal("003"), name: z.string(), checked: z.boolean() }),
z.object({ type: z.literal("004"), name: z.string(), checked: z.boolean() }).and(twoUnion),
]);
Получается дерево наверно
Но выдает ошибку (is missing the following properties from type (type?: any) )
Как сделать вложенные в друг друга discriminatedUnion? И это вообще возможно, а то уже весь гид и документацию прочитал