Я использую Formik
для создания формы библиотеки книг, где каждый элемент в списке будет выглядеть так:
author: {
name: 'string',
titles: ['string']
}
У меня возникли проблемы при попытке создать схему с Yup
дляпроверить эти поля. У меня есть:
schema = Yup.object().shape({
author: Yup.object().shape({
name: Yup.string().min().max().required('...')
}),
author: Yup.array().of(
Yup.object().shape({
titles: Yup.string().min().max().required('...')
})
)
});
Начальные значения также:
{
author: {name: ''},
author: [{ titles: '' }]
}
Моя проверка работает для массива, но не для имени. Я предполагаю, что проблема заключается в том, что я не могу иметь одинаковое имя для обоих элементов в объекте, однако я не знаю, как объединить два поля как в начальных значениях, так и в схеме. Я просмотрел API Yup и заметил, что у них mixed()
, но я не понимал, как реализовать то, что мне нужно. Возможен ли этот способ или будет ли возможна проверка обоих?