#javascript #reactjs #validation #formik #yup
#javascript #reactjs #проверка #formik #ага
Вопрос:
Я использую formik с Yup для проверки полей. Я хочу проверить два условия (когда выполняются оба условия, чем должна выполняться моя проверка, на данный момент я могу проверить одно условие, приведенное ниже, — моя схема проверки.Когда пользователь нажимает на флажок, ему нужно ввести значения from и to, которые работают нормально, но я хочу также проверить еще одно условие: когда значение spaceCycle равно === «Ежечасно» и установлено значение true, должно выполняться только это. может обратиться к этому рисунку для лучшего объяснения
const validationSchema = yup.object({
spaceAvailability: yup.object({
hours: yup.array().of(
yup.object().shape({
from: yup.string().when("checked", {
is: true,
then: yup.string().required("Please select hours"),
}),
to: yup.string().when("checked", {
is: true,
then: yup.string().required("Please select hours"),
checked: yup.boolean(),
}),
})
),
spaceCycle: yup.string().required("Please select atleast one option"),
}),
});
Комментарии:
1. Можете ли вы добавить свой код сюда . Там легко попробовать и протестировать.
2. @ShubhamVerma в моем коде много зависимостей, поэтому я не могу загрузить весь код целиком.
3. Вам не нужно загружать весь код. Просто создайте poc для требуемой функциональности
4. @ShubhamVerma Столкнулся с некоторыми проблемами при загрузке кода, но я хочу сделать что-то вроде этого yup.object().shape({ from: yup.string().when(«проверено» amp;amp; «spaceAvailability.spaceCycle», { is: true amp;amp; «ЕЖЕЧАСНО», затем: yup.string().требуется («Пожалуйста, выберите часы»), }),