Я создал несколько регистрационных схем
export const registrationSchema = (translate) => Yup.object().shape({
//... other properties that are validated.
// for example username
username: Yup.string()
.min(6, translate('validation:common.username.min', { min: 6 }))
.max(20, translate('validation:common.username.max', { max: 20 }))
.required(translate('validation:common.username.required')),
DOB: Yup.lazy(value => {
console.log('yup', value);
if (moment().diff(moment(value), 'years') < 18)
// Here return DOB error somehow
})
...
, и пока он работает как шарм.Но теперь мне нужно проверить, если пользователю минимум 18 лет. Я получаю DateOfBirth из палитры дат, и я могу проверить, не меньше ли он 18 с моментом.
if(moment().diff(moment(date),'years) < 18)
и это значение даты, которое я получил при использовании Yup.lazy, но не знаю, как выдать ошибку проверки, если до 18 лет -display ее в поле DOB.Я даже не знаю, правильно ли я использую метод YUP.Я хотел использовать yup.date ().но как получить выбранную дату внутри схемы, чтобы проверить, действительно ли это возраст.