Yup. How to change error message text date

Viewed 87

How to change message text for date field:

date must be a date type, but the final value was: Invalid Date

Now scheema looks like this:

let scheema= yup.object().shape({
        date: yup.date()
          .min(MIN_DATE, `Дата не может быть раньше ${MIN_DATE?.toLocaleDateString('ru')}`)
          .max(MAX_DATE, `Дата не может быть позже ${MAX_DATE?.toLocaleDateString('ru')}`)
          .required('Обязательное поле'),
        reason: yup.string().required('Обязательное поле'),
        comment: yup.string().max(4000, 'Превышено количество символов'),
    });

error is:

{
    "date": "date must be a `date` type, but the final value was: `Invalid Date`."
}

I need to change this text

1 Answers

You could use Schema.typeError as follows:

date: yup.date()
        .typeError('Expected a value of type ${type} but got: ${value}') // ex: Expected a value of type date but got: Invalid Date
        .min(MIN_DATE, `Дата не может быть раньше ${MIN_DATE?.toLocaleDateString('ru')}`)
        .max(MAX_DATE, `Дата не может быть позже ${MAX_DATE?.toLocaleDateString('ru')}`)
        .required('Обязательное поле'),
reason: yup.string().required('Обязательное поле'),
comment: yup.string().max(4000, 'Превышено количество символов'),
Related