From e182ae40516f593f04fd7bc8a22ac0f9a6e924ee Mon Sep 17 00:00:00 2001 From: Gil Lohner Date: Wed, 9 Oct 2024 01:17:26 +0200 Subject: [PATCH] validators --- handlers/meetupHandlers/meetupSuggestionHandler.js | 5 +++-- utils/eventUtils.js | 0 utils/validators.js | 4 ++++ 3 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 utils/eventUtils.js create mode 100644 utils/validators.js diff --git a/handlers/meetupHandlers/meetupSuggestionHandler.js b/handlers/meetupHandlers/meetupSuggestionHandler.js index 2b1aff5..c202c20 100644 --- a/handlers/meetupHandlers/meetupSuggestionHandler.js +++ b/handlers/meetupHandlers/meetupSuggestionHandler.js @@ -10,6 +10,7 @@ import { import config from '../../bot/config.js'; import userStates from '../../userStates.js' import { deleteMessage } from '../../utils/helpers.js'; +import { isValidDate, isValidTime } from '../../utils/validators.js'; const handleMeetupSuggestion = (bot, msg) => { if (msg.chat.type !== 'private') { @@ -107,7 +108,7 @@ const handleEventCreationStep = async (bot, msg) => { }); break; case 'date': - if (!/^\d{4}-\d{2}-\d{2}$/.test(text)) { + if (!isValidDate(text)) { bot.sendMessage(chatId, 'Ungültiges Datumsformat. Bitte verwende YYYY-MM-DD:\n\nOder tippe /cancel um abzubrechen.', { disable_notification: true }); @@ -120,7 +121,7 @@ const handleEventCreationStep = async (bot, msg) => { }); break; case 'time': - if (!/^([01]\d|2[0-3]):([0-5]\d)$/.test(text)) { + if (!isValidTime(text)) { bot.sendMessage(chatId, 'Ungültiges Zeitformat. Bitte verwende HH:MM:\n\nOder tippe /cancel um abzubrechen.', { disable_notification: true }); diff --git a/utils/eventUtils.js b/utils/eventUtils.js new file mode 100644 index 0000000..e69de29 diff --git a/utils/validators.js b/utils/validators.js new file mode 100644 index 0000000..796aaf0 --- /dev/null +++ b/utils/validators.js @@ -0,0 +1,4 @@ +// utils/validators.js +export const isValidDate = (dateStr) => /^\d{4}-\d{2}-\d{2}$/.test(dateStr); + +export const isValidTime = (timeStr) => /^([01]\d|2[0-3]):([0-5]\d)$/.test(timeStr);