Я довольно новичок в Yup. Я пытаюсь проверить, что поле может быть либо строкой, следующей за определенным регулярным выражением, либо массивом таких строк.
Вот рабочий пример проверки соответствия строки моему регулярному выражению
{ field: yup.string().matches(regex) }
Теперь я хочу, чтобы field
также был действительным, если у него есть массив таких строк:
{field: yup.array().of(yup.string().matches(regex))}
Но как мне объединить эти два? Я пытался:
{
field: yup.mixed().when('field', {
is: Array.isArray,
then: yup.array().of(yup.string().matches(regex)),
otherwise: yup.string().matches(regex)
})
}
Но я вполне понимаю, что циклическая c ошибка зависимости, так как поле зависит от себя. Какой правильный синтаксис?