Несколько проверок date.min () для формы Yup - PullRequest
0 голосов
/ 09 марта 2020

У меня есть две проверки, которые мне нужно выполнить для одного поля в форме Yup.

  1. Дата истечения должна быть позже, чем сегодня.
  2. Дата истечения должна быть позже даты выпуска.

Как я могу структурировать эта схема для двухминутных проверок? Потому что в настоящее время этот код не работает.

date: Yup
  .date()
  .min(new Date(), 'Date must be later than today.')
  .min(Yup.ref('issueDate'), 'Expiry date must be greater than issue date')
  .typeError('Please provide a valid date')
  .required('Please specify the expiry date'

1 Ответ

0 голосов
/ 09 марта 2020

Вы можете создать схему для issueDate. И проверить с .when():


issueDate: Yup
      .date()
      .required(),
date: Yup
      .date()
      .when(
        'issueDate',
        (issueDate, schema) => (issueDate && schema.min(issueDate, 'Expiry date must be greater than issue date')),
      ),
...