У меня есть поле электронной почты, которое отображается только в том случае, если установлен флажок (логическое значение - true
). Когда форма отправляется, я только то, что это поле нужно, если флажок установлен (boolean is true).
Это то, что я пробовал до сих пор:
const validationSchema = yup.object().shape({
email: yup
.string()
.email()
.label('Email')
.when('showEmail', {
is: true,
then: yup.string().required('Must enter email address'),
}),
})
Я пробовал несколько других вариантов, но я получаю ошибки от Formik и Yup:
Uncaught (in promise) TypeError: Cannot read property 'length' of undefined at yupToFormErrors (formik.es6.js:6198) at formik.es6.js:5933 at <anonymous> yupToFormErrors @formik.es6.js:6198
И я также получаю ошибки проверки от Yup. Что я делаю неправильно?