Задать вопрос
@GaserV

Почему не работает условная валидация zod в react-hook-form?

Доброго вечера. Столкнулся с проблемой валидации. У меня есть поле A: boolean optinal и поле В массив. Поле В это массив, который обязателен если A === true. Пробовал:

//schema основные филды
z.object(schema).superRefine((values, ctx) => {
    if (values.A) {
      ctx.addIssue({
        code: z.ZodIssueCode.custom,
        path: ['B'],
        message: 'Required',
      });
    }
  })

Также 
.and(
  z.union([
    z.object({
      A: z.literal(false),
      B: z.array(z.any()).optional(),
    }),
    z.object({
      A: z.literal(true),
      B: z.array(z.any()),
    }),
  ])
);


Первый вариант вобще дохлый не отрабатывает. Второй отрабатывает не правильно, всегда ждет false. Как правильно реализовать?
  • Вопрос задан
  • 26 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы