From 9b955505e6a8dc4f1dbcd8f12d25996b57cf64df Mon Sep 17 00:00:00 2001 From: INOUE Daisuke Date: Sat, 22 Mar 2025 23:50:51 +0900 Subject: validations --- src/util/validation.ts | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) (limited to 'src/util') diff --git a/src/util/validation.ts b/src/util/validation.ts index a3bea63..0d82b88 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('validation.eventtime.startisafter'), field: "eventStart", }; } if (moment(start).isBefore(moment())) { return { - message: "Start time must be in the future.", + message: i18next.t('validation.eventtime.startisbefore'), field: "eventStart", }; } if (moment(end).isBefore(moment())) { return { - message: "End time must be in the future.", + message: i18next.t('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("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('validation.eventdata.eventname'), field: "eventName", }); } if (!validatedData.eventLocation) { errors.push({ - message: "Event location is required.", + message: i18next.t("validation.eventdata.eventlocation"), field: "eventLocation", }); } if (!validatedData.eventStart) { errors.push({ - message: "Event start time is required.", + message: i18next.t("validation.eventdata.eventstart"), field: "eventStart", }); } if (!validatedData.eventEnd) { errors.push({ - message: "Event end time is required.", + message: i18next.t("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("validation.eventdata.timezone"), field: "timezone", }); } if (!validatedData.eventDescription) { errors.push({ - message: "Event description is required.", + message: i18next.t("validation.eventdata.eventdescription"), field: "eventDescription", }); } if (validatedData.eventGroupBoolean) { if (!validatedData.eventGroupID) { errors.push({ - message: "Event group ID is required.", + message: i18next.t("validation.eventdata.eventgroupboolean"), field: "eventGroupID", }); } if (!validatedData.eventGroupEditToken) { errors.push({ - message: "Event group edit token is required.", + message: i18next.t("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("validation.eventdata.maxattendeesboolean"), field: "maxAttendees", }); } if (isNaN(validatedData.maxAttendees)) { errors.push({ - message: "Max number of attendees must be a number.", + message: i18next.t("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("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("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("validation.groupdata.eventgroupname"), field: "eventGroupName", }); } if (!groupData.eventGroupDescription) { errors.push({ - message: "Event group description is required.", + message: i18next.t("validation.groupdata.eventgroupdescription"), field: "eventGroupDescription", }); } if (groupData.creatorEmail) { if (!validateEmail(groupData.creatorEmail)) { errors.push({ - message: "Email address is invalid.", + message: i18next.t("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("validation.groupdata.eventgroupurl"), field: "eventGroupURL", }); } -- cgit v1.2.3 From 1fd6a7d2249fdf6ba5ca9ced6ea43348ebe0941d Mon Sep 17 00:00:00 2001 From: INOUE Daisuke Date: Wed, 2 Apr 2025 01:49:11 +0900 Subject: rename translation keys as filestructure --- src/util/validation.ts | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'src/util') diff --git a/src/util/validation.ts b/src/util/validation.ts index 0d82b88..4ead7df 100644 --- a/src/util/validation.ts +++ b/src/util/validation.ts @@ -110,7 +110,7 @@ export const validateEventTime = (start: Date, end: Date): Error | boolean => { // Duration cannot be longer than 1 year if (moment(end).diff(moment(start), "years") > 1) { return { - message: i18next.t("validation.eventtime.endyears"), + message: i18next.t("util.validation.eventtime.endyears"), field: "eventEnd", }; } @@ -137,19 +137,19 @@ export const validateEventData = ( } if (!validatedData.eventLocation) { errors.push({ - message: i18next.t("validation.eventdata.eventlocation"), + message: i18next.t("util.validation.eventdata.eventlocation"), field: "eventLocation", }); } if (!validatedData.eventStart) { errors.push({ - message: i18next.t("validation.eventdata.eventstart"), + message: i18next.t("util.validation.eventdata.eventstart"), field: "eventStart", }); } if (!validatedData.eventEnd) { errors.push({ - message: i18next.t("validation.eventdata.eventend"), + message: i18next.t("util.validation.eventdata.eventend"), field: "eventEnd", }); } @@ -164,26 +164,26 @@ export const validateEventData = ( } if (!validatedData.timezone) { errors.push({ - message: i18next.t("validation.eventdata.timezone"), + message: i18next.t("util.validation.eventdata.timezone"), field: "timezone", }); } if (!validatedData.eventDescription) { errors.push({ - message: i18next.t("validation.eventdata.eventdescription"), + message: i18next.t("util.validation.eventdata.eventdescription"), field: "eventDescription", }); } if (validatedData.eventGroupBoolean) { if (!validatedData.eventGroupID) { errors.push({ - message: i18next.t("validation.eventdata.eventgroupboolean"), + message: i18next.t("util.validation.eventdata.eventgroupboolean"), field: "eventGroupID", }); } if (!validatedData.eventGroupEditToken) { errors.push({ - message: i18next.t("validation.eventdata.eventgroupedittoken"), + message: i18next.t("util.validation.eventdata.eventgroupedittoken"), field: "eventGroupEditToken", }); } @@ -191,13 +191,13 @@ export const validateEventData = ( if (validatedData.maxAttendeesBoolean) { if (!validatedData.maxAttendees) { errors.push({ - message: i18next.t("validation.eventdata.maxattendeesboolean"), + message: i18next.t("util.validation.eventdata.maxattendeesboolean"), field: "maxAttendees", }); } if (isNaN(validatedData.maxAttendees)) { errors.push({ - message: i18next.t("validation.eventdata.maxattendees"), + message: i18next.t("util.validation.eventdata.maxattendees"), field: "maxAttendees", }); } @@ -205,7 +205,7 @@ export const validateEventData = ( if (validatedData.creatorEmail) { if (!validateEmail(validatedData.creatorEmail)) { errors.push({ - message: i18next.t("validation.eventdata.creatoremail"), + message: i18next.t("util.validation.eventdata.creatoremail"), field: "creatorEmail", }); } @@ -213,7 +213,7 @@ export const validateEventData = ( if (validatedData.eventURL) { if (!validateUrl(validatedData.eventURL)) { errors.push({ - message: i18next.t("validation.eventdata.eventurl"), + message: i18next.t("util.validation.eventdata.eventurl"), field: "eventURL", }); } @@ -231,20 +231,20 @@ export const validateGroupData = ( const errors: Error[] = []; if (!groupData.eventGroupName) { errors.push({ - message: i18next.t("validation.groupdata.eventgroupname"), + message: i18next.t("util.validation.groupdata.eventgroupname"), field: "eventGroupName", }); } if (!groupData.eventGroupDescription) { errors.push({ - message: i18next.t("validation.groupdata.eventgroupdescription"), + message: i18next.t("util.validation.groupdata.eventgroupdescription"), field: "eventGroupDescription", }); } if (groupData.creatorEmail) { if (!validateEmail(groupData.creatorEmail)) { errors.push({ - message: i18next.t("validation.groupdata.creatoremail"), + message: i18next.t("util.validation.groupdata.creatoremail"), field: "creatorEmail", }); } @@ -252,7 +252,7 @@ export const validateGroupData = ( if (groupData.eventGroupURL) { if (!validateUrl(groupData.eventGroupURL)) { errors.push({ - message: i18next.t("validation.groupdata.eventgroupurl"), + message: i18next.t("util.validation.groupdata.eventgroupurl"), field: "eventGroupURL", }); } -- cgit v1.2.3 From 018870a06324b8ebc19c0d5ab3a209f872768306 Mon Sep 17 00:00:00 2001 From: INOUE Daisuke Date: Mon, 28 Apr 2025 20:53:27 +0900 Subject: Fix some i18next call, which concatted translation and some string without i18next parameter --- src/util/validation.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/util') diff --git a/src/util/validation.ts b/src/util/validation.ts index 4ead7df..ccfc8d5 100644 --- a/src/util/validation.ts +++ b/src/util/validation.ts @@ -131,7 +131,7 @@ export const validateEventData = ( const errors: Error[] = []; if (!validatedData.eventName) { errors.push({ - message: i18next.t('validation.eventdata.eventname'), + message: i18next.t('util.validation.eventdata.eventname'), field: "eventName", }); } -- cgit v1.2.3 From d0ea0d22f5c12fc558948e5a2ac1acdba7111bb6 Mon Sep 17 00:00:00 2001 From: INOUE Daisuke Date: Fri, 2 May 2025 23:14:55 +0900 Subject: Fix wrong translation string keys --- src/util/validation.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/util') diff --git a/src/util/validation.ts b/src/util/validation.ts index ccfc8d5..42b524a 100644 --- a/src/util/validation.ts +++ b/src/util/validation.ts @@ -91,19 +91,19 @@ const validateUrl = (url: string) => { export const validateEventTime = (start: Date, end: Date): Error | boolean => { if (moment(start).isAfter(moment(end))) { return { - message: i18next.t('validation.eventtime.startisafter'), + message: i18next.t('util.validation.eventtime.startisafter'), field: "eventStart", }; } if (moment(start).isBefore(moment())) { return { - message: i18next.t('validation.eventtime.startisbefore'), + message: i18next.t('util.validation.eventtime.startisbefore'), field: "eventStart", }; } if (moment(end).isBefore(moment())) { return { - message: i18next.t('validation.eventtime.endisbefore'), + message: i18next.t('util.validation.eventtime.endisbefore'), field: "eventEnd", }; } -- cgit v1.2.3