diff options
author | Raphael <mail@raphaelkabo.com> | 2025-05-28 18:58:46 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-28 18:58:46 +0100 |
commit | 3d84891118f8a81af3ddb978af9b3f8b02fd5d65 (patch) | |
tree | 0a8d344e331a0551b73435bbbb3919107737f69f /src/util/validation.ts | |
parent | 6f0b7a44b995b6b66baf42a9369182fc05a90b34 (diff) | |
parent | 4664b6968fdcaca54268d60f400da02364213f05 (diff) |
Merge branch 'main' into main
Diffstat (limited to 'src/util/validation.ts')
-rw-r--r-- | src/util/validation.ts | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/src/util/validation.ts b/src/util/validation.ts index a3bea63..42b524a 100644 --- a/src/util/validation.ts +++ b/src/util/validation.ts @@ -1,3 +1,4 @@ +import i18next from "i18next"; import moment from "moment-timezone"; type Error = { @@ -90,26 +91,26 @@ const validateUrl = (url: string) => { export const validateEventTime = (start: Date, end: Date): Error | boolean => { if (moment(start).isAfter(moment(end))) { return { - message: "Start time must be before end time.", + message: i18next.t('util.validation.eventtime.startisafter'), field: "eventStart", }; } if (moment(start).isBefore(moment())) { return { - message: "Start time must be in the future.", + message: i18next.t('util.validation.eventtime.startisbefore'), field: "eventStart", }; } if (moment(end).isBefore(moment())) { return { - message: "End time must be in the future.", + message: i18next.t('util.validation.eventtime.endisbefore'), field: "eventEnd", }; } // Duration cannot be longer than 1 year if (moment(end).diff(moment(start), "years") > 1) { return { - message: "Event duration cannot be longer than 1 year.", + message: i18next.t("util.validation.eventtime.endyears"), field: "eventEnd", }; } @@ -130,25 +131,25 @@ export const validateEventData = ( const errors: Error[] = []; if (!validatedData.eventName) { errors.push({ - message: "Event name is required.", + message: i18next.t('util.validation.eventdata.eventname'), field: "eventName", }); } if (!validatedData.eventLocation) { errors.push({ - message: "Event location is required.", + message: i18next.t("util.validation.eventdata.eventlocation"), field: "eventLocation", }); } if (!validatedData.eventStart) { errors.push({ - message: "Event start time is required.", + message: i18next.t("util.validation.eventdata.eventstart"), field: "eventStart", }); } if (!validatedData.eventEnd) { errors.push({ - message: "Event end time is required.", + message: i18next.t("util.validation.eventdata.eventend"), field: "eventEnd", }); } @@ -163,26 +164,26 @@ export const validateEventData = ( } if (!validatedData.timezone) { errors.push({ - message: "Event timezone is required.", + message: i18next.t("util.validation.eventdata.timezone"), field: "timezone", }); } if (!validatedData.eventDescription) { errors.push({ - message: "Event description is required.", + message: i18next.t("util.validation.eventdata.eventdescription"), field: "eventDescription", }); } if (validatedData.eventGroupBoolean) { if (!validatedData.eventGroupID) { errors.push({ - message: "Event group ID is required.", + message: i18next.t("util.validation.eventdata.eventgroupboolean"), field: "eventGroupID", }); } if (!validatedData.eventGroupEditToken) { errors.push({ - message: "Event group edit token is required.", + message: i18next.t("util.validation.eventdata.eventgroupedittoken"), field: "eventGroupEditToken", }); } @@ -190,13 +191,13 @@ export const validateEventData = ( if (validatedData.maxAttendeesBoolean) { if (!validatedData.maxAttendees) { errors.push({ - message: "Max number of attendees is required.", + message: i18next.t("util.validation.eventdata.maxattendeesboolean"), field: "maxAttendees", }); } if (isNaN(validatedData.maxAttendees)) { errors.push({ - message: "Max number of attendees must be a number.", + message: i18next.t("util.validation.eventdata.maxattendees"), field: "maxAttendees", }); } @@ -204,7 +205,7 @@ export const validateEventData = ( if (validatedData.creatorEmail) { if (!validateEmail(validatedData.creatorEmail)) { errors.push({ - message: "Email address is invalid.", + message: i18next.t("util.validation.eventdata.creatoremail"), field: "creatorEmail", }); } @@ -212,7 +213,7 @@ export const validateEventData = ( if (validatedData.eventURL) { if (!validateUrl(validatedData.eventURL)) { errors.push({ - message: "Event link is invalid.", + message: i18next.t("util.validation.eventdata.eventurl"), field: "eventURL", }); } @@ -230,20 +231,20 @@ export const validateGroupData = ( const errors: Error[] = []; if (!groupData.eventGroupName) { errors.push({ - message: "Event group name is required.", + message: i18next.t("util.validation.groupdata.eventgroupname"), field: "eventGroupName", }); } if (!groupData.eventGroupDescription) { errors.push({ - message: "Event group description is required.", + message: i18next.t("util.validation.groupdata.eventgroupdescription"), field: "eventGroupDescription", }); } if (groupData.creatorEmail) { if (!validateEmail(groupData.creatorEmail)) { errors.push({ - message: "Email address is invalid.", + message: i18next.t("util.validation.groupdata.creatoremail"), field: "creatorEmail", }); } @@ -251,7 +252,7 @@ export const validateGroupData = ( if (groupData.eventGroupURL) { if (!validateUrl(groupData.eventGroupURL)) { errors.push({ - message: "Group link is invalid.", + message: i18next.t("util.validation.groupdata.eventgroupurl"), field: "eventGroupURL", }); } |