Skip to content

Commit a553823

Browse files
committed
chore: unicode non visible chars in initial row and date check
1 parent 3876707 commit a553823

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

apps/web/src/utils/upload.ts

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -530,18 +530,20 @@ export namespace Zod3 {
530530
const regexResultDate = nonVisibleCharChecker(dataLines[0][1]);
531531

532532
if (regexResultSubject !== null) {
533+
const charCode = regexResultSubject[0].charCodeAt(0).toString(16).toUpperCase().padStart(4, '0');
533534
return reject(
534535
new UploadError({
535-
en: `Subject ID at row ${rowNumber} contains non-visible character(s) ${regexResultSubject[0]}`,
536-
fr: `L'ID du sujet à la ligne ${rowNumber} contient des caractères non visible(s) ${regexResultSubject[0]}`
536+
en: `Subject ID at row ${rowNumber} contains non-visible character(s) (U+${charCode})`,
537+
fr: `L'ID du sujet à la ligne ${rowNumber} contient des caractères non visible(s) (U+${charCode})`
537538
})
538539
);
539540
}
540541
if (regexResultDate !== null) {
542+
const charCode = regexResultDate[0].charCodeAt(0).toString(16).toUpperCase().padStart(4, '0');
541543
return reject(
542544
new UploadError({
543-
en: `Date at row ${rowNumber} contains non-visible character(s) ${regexResultDate[0]}`,
544-
fr: `Date à la ligne ${rowNumber} contient des caractères non visible(s) ${regexResultDate[0]}`
545+
en: `Date at row ${rowNumber} contains non-visible character(s) (U+${charCode})`,
546+
fr: `Date à la ligne ${rowNumber} contient des caractères non visible(s) (U+${charCode})`
545547
})
546548
);
547549
}
@@ -885,18 +887,20 @@ export namespace Zod4 {
885887
const regexResultDate = nonVisibleCharChecker(dataLines[0][1]);
886888

887889
if (regexResultSubject !== null) {
890+
const charCode = regexResultSubject[0].charCodeAt(0).toString(16).toUpperCase().padStart(4, '0');
888891
return reject(
889892
new UploadError({
890-
en: `Subject ID at row ${rowNumber} contains non-visible characters ${regexResultSubject[0]}`,
891-
fr: `L'ID du sujet à la ligne ${rowNumber} contient des caractères non visibles ${regexResultSubject[0]}`
893+
en: `Subject ID at row ${rowNumber} contains non-visible characters (U+${charCode})`,
894+
fr: `L'ID du sujet à la ligne ${rowNumber} contient des caractères non visibles (U+${charCode})`
892895
})
893896
);
894897
}
895898
if (regexResultDate !== null) {
899+
const charCode = regexResultDate[0].charCodeAt(0).toString(16).toUpperCase().padStart(4, '0');
896900
return reject(
897901
new UploadError({
898-
en: `Date at row ${rowNumber} contains non-visible characters ${regexResultDate[0]}`,
899-
fr: `Date à la ligne ${rowNumber} contient des caractères non visibles ${regexResultDate[0]}`
902+
en: `Date at row ${rowNumber} contains non-visible characters (U+${charCode})`,
903+
fr: `Date à la ligne ${rowNumber} contient des caractères non visibles (U+${charCode})`
900904
})
901905
);
902906
}

0 commit comments

Comments
 (0)