From 8fdf5a941df18106a6a66883c37ee012ebe6b703 Mon Sep 17 00:00:00 2001 From: bathi-dev <66929408+bathi-dev@users.noreply.github.com> Date: Fri, 21 Feb 2025 03:07:59 -0600 Subject: [PATCH] Strict format check to prevent dayjs string to date parsing issues --- src/libs/date.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/libs/date.ts b/src/libs/date.ts index d5887a0..40cdbd6 100644 --- a/src/libs/date.ts +++ b/src/libs/date.ts @@ -511,9 +511,20 @@ export function dateFormat(date: DateType, format: string, local = "en") { } export function dateStringToDate(dateString: string) { + /* Formats yyyy-MM-dd or yyyy/MM/dd */ + const isValidDateFormat = /^\d{4}[-/]\d{2}[-/]\d{2}$|^\d{2}[-/]\d{2}[-/]\d{4}$/.test( + dateString + ); + + if (!isValidDateFormat) { + return null; + } + const parseDate = dayjs(dateString); - if (!parseDate.isValid()) return null; + if (!parseDate.isValid()) { + return null; + } return parseDate.toDate(); }