Как требовать месяц как минимум сегодня по отношению к году Да/Формик

#javascript #reactjs #yup

Вопрос:

Я использую yup, который накладывает минимальное ограничение на дату в месяце, поданном по отношению к году, в котором мы находимся. Однако при использовании функции .date().when().test() при указании даты/времени. Я, кажется, не могу ссылаться на другие поля: введите описание изображения здесь

 

const schema = useMemo(
  () => yup.object().shape({
        start: yup.object().shape({
          month: yup
            .date('Month is a required field')
            .nullable()
            .required()
            .test(
              'is-greater',
              'end time should be greater',
              function (month) {
                const startYear = watch('start.year', null);
                const isInPast = moment(
                  `${startYear}-${month}-01`,
                  'YYYY-MM-DD',
                );
                return moment(month, 'YYYY-MM-DD').isSameOrAfter(
                  moment(isInPast, 'YYYY-MM-DD'),
                );
              },
            ),
          year: yup
            .string()
            .nullable()
            .required(),
        }),
      }
    },
    [watch],
  );