diff --git a/client/src/Validation/notifications.ts b/client/src/Validation/notifications.ts index 3058d3f66..f7490d526 100644 --- a/client/src/Validation/notifications.ts +++ b/client/src/Validation/notifications.ts @@ -35,11 +35,7 @@ const rocketChatSchema = baseSchema.extend({ address: z .string() .min(1, "Webhook URL is required") - .url("Please enter a valid URL") - .refine( - (url) => /^https?:\/\//i.test(url), - "Rocket.Chat webhook URL must use HTTP or HTTPS" - ), + .url({ protocol: /^https?$/, message: "Please enter a valid URL" }), }); const pagerDutySchema = baseSchema.extend({ diff --git a/server/src/api/validation/notificationValidation.ts b/server/src/api/validation/notificationValidation.ts index fea35e89d..e883b9006 100644 --- a/server/src/api/validation/notificationValidation.ts +++ b/server/src/api/validation/notificationValidation.ts @@ -27,9 +27,10 @@ export const createNotificationBodyValidation = z.discriminatedUnion("type", [ z.object({ notificationName: z.string().min(1, "Notification name is required"), type: z.literal("rocket_chat"), - address: z - .url({ message: "Please enter a valid Rocket.Chat webhook URL" }) - .refine((url) => /^https?:\/\//i.test(url), { message: "Rocket.Chat webhook URL must use HTTP or HTTPS" }), + address: z.url({ + protocol: /^https?$/, + message: "Please enter a valid Rocket.Chat webhook URL", + }), }), // Slack notification z.object({