Как применить проверку условий в yup

#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().требуется («Пожалуйста, выберите часы»), }),