#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],
);