Как я могу правильно проверить даты? - PullRequest
0 голосов
/ 21 апреля 2020

Я использую празднование для проверки дат, но я все еще могу добавить дату начала выше, чем дата конца, что я могу сделать, чтобы предотвратить такое поведение? Кроме того, использование такого формата возвращает следующую ошибку:

Unknown date format YYYY-MM-DD

Что я могу сделать, чтобы использовать нужный формат?

routes.post(
  '/world_series',
  celebrate({
    [Segments.BODY]: Joi.object().keys({
      start_date: Joi.date().required(),
      end_date: Joi.date().format('YYYY-MM-DD').greater(Joi.ref('start_date')).required(),
      champion_id: Joi.string().required(),
      runners_up_id: Joi.string().required(),
    }),
  }),
  WorldSeriesController.create
);

1 Ответ

0 голосов
/ 22 апреля 2020

После прочтения документации я увидел, что могу использовать набор правил для решения своей проблемы, вот код:

routes.post(
  '/world_series',
  celebrate({
    [Segments.BODY]: Joi.object().keys({
      start_date: Joi.date().required(),
      end_date: Joi.date()
        .ruleset.greater(Joi.ref('start_date'))
        .rule({ message: 'end_date must be greater than start_date' })
        .required(),
      champion_id: Joi.string().required(),
      runners_up_id: Joi.string().required(),
    }),
  }),
  WorldSeriesController.create
);
...