From 2829c2548aa0cd03f92433d3bc3b9b2739e98486 Mon Sep 17 00:00:00 2001 From: Gauthier Date: Sun, 10 Nov 2024 19:51:45 +0100 Subject: [PATCH] fix(setup): add leading slash validation for baseUrl (#1083) --- src/components/Login/JellyfinLogin.tsx | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/components/Login/JellyfinLogin.tsx b/src/components/Login/JellyfinLogin.tsx index ba59d11b1..057198e36 100644 --- a/src/components/Login/JellyfinLogin.tsx +++ b/src/components/Login/JellyfinLogin.tsx @@ -82,10 +82,17 @@ const JellyfinLogin: React.FC = ({ port: Yup.number().required( intl.formatMessage(messages.validationPortRequired) ), - urlBase: Yup.string().matches( - /^(.*[^/])$/, - intl.formatMessage(messages.validationUrlBaseTrailingSlash) - ), + urlBase: Yup.string() + .test( + 'leading-slash', + intl.formatMessage(messages.validationUrlBaseLeadingSlash), + (value) => !value || value.startsWith('/') + ) + .test( + 'trailing-slash', + intl.formatMessage(messages.validationUrlBaseTrailingSlash), + (value) => !value || !value.endsWith('/') + ), email: Yup.string() .email(intl.formatMessage(messages.validationemailformat)) .required(intl.formatMessage(messages.validationemailrequired)),