Skip to content

Commit 20dcef6

Browse files
deepanshurajput0Deepanshu Vermasahitya-chandra
authored
fix: validate schedule title input to block invalid characters (calcom#27818)
* fix(availability): validate schedule title input to block invalid characters * fix: add english translation for invalid_characters_in_name * fix(schedule): allow Unicode characters in schedule name validation * fix(schedule): update validation message to match regex * fix: tsconfig target * fix(schedule): add required validation in NewScheduleButton using translation * fix(schedule): allow ASCII apostrophe in schedule name validation * Update ScheduleListItem.tsx * fix: remove unused @ts-expect-error directives * fix: remove tsconfig target change * Revert "fix: remove tsconfig target change" This reverts commit d4992ca. * Revert "fix: remove unused @ts-expect-error directives" This reverts commit 913eda5. * fix: update validation regex to support unicode characters * fix: remove es6 from tsconfig * Update NewScheduleButton.tsx --------- Co-authored-by: Deepanshu Verma <deepanshuverma186@email.com> Co-authored-by: Sahitya Chandra <sahityajb@gmail.com>
1 parent 11b65b2 commit 20dcef6

2 files changed

Lines changed: 9 additions & 0 deletions

File tree

apps/web/modules/schedules/components/NewScheduleButton.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,14 @@ export function NewScheduleButton({
7979
placeholder={t("default_schedule_name")}
8080
{...register("name", {
8181
setValueAs: (v) => (!v || v.trim() === "" ? null : v),
82+
required:t('required'),
83+
pattern:{
84+
value: new RegExp(
85+
"^[\\p{L}\\p{M}\\p{N}\\s&\\-_'\\u2018\\u2019@.:,/]+$",
86+
"u"
87+
),
88+
message:t("invalid_characters_in_name"),
89+
}
8290
})}
8391
/>
8492
<DialogFooter>

apps/web/public/static/locales/en/common.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"upgrade_now": "Upgrade now",
1010
"untitled": "Untitled",
1111
"accept_invitation": "Accept invitation",
12+
"invalid_characters_in_name": "Only letters, numbers, spaces, and supported punctuation are allowed.",
1213
"max_characters": "Max. characters",
1314
"min_characters": "Min. characters",
1415
"min_characters_required": "Min. {{count}} characters required",

0 commit comments

Comments
 (0)