#node.js #mongodb #express
#node.js #mongodb #экспресс
Вопрос:
Я хочу спросить, как я могу сделать свой запрос.запрос принимает только формат даты, подобный этому ГГГГ-ММ-ДД, а не просто случайное число, потому что мой код все еще принимает числа, такие как «123456» в запросе.
Комментарии:
1. Используют ли некоторые проверки библиотеку, такую как joi
2. есть ли другой способ? я не хочу использовать библиотеку
3. Можете ли вы предоставить пример маршрута, который у вас есть? для примера:
myawesomehost:3000/api/v1/users?year=2021amp;month=1amp;date=21
4. мой маршрут выглядит так /api/v1/days/?day=2021/01/20
5. Если это неверно, чего вы ожидали? Не найден ответ или ответ на неверный запрос?
Ответ №1:
Вы можете попробовать этот код ниже:
const isValidDate = !(new Date('2021/01/20').toString().toLowerCase().includes('invalid'));
if (isValidDate) {
console.log('Valid Date');
} else {
console.log('InValid Date');
}
Комментарии:
1. его значение false при вводе 2021/01/20. Это должно быть верно, верно?
2. Код работает по назначению, однако, когда я использовал его в своей базе кода, он не дает правильной информации. Вот мой код. const { day } = запрос. запрос; const isValidDate = ! (новая дата (день). toString().toLowerCase().includes(‘недопустимый’)); if (!isValidDate) { возвращает res.status(500).json({ сообщение: ‘Пожалуйста, введите дату в этом формате гггг-мм-дд’ })
3. можете ли вы мне это объяснить? пожалуйста, чтобы я не спрашивал снова: D
4. код, который вы сделали, если он вас устраивает. я довольно новичок в серверной части, извините.
5. Я думаю, вы можете утешить req.params.day и посмотреть результат. Убедитесь, что это то же самое, что и вы ожидали.