fix(ui): validate application url and service external urls

This commit is contained in:
sct
2021-02-04 13:22:56 +00:00
parent ee0a7bd8c0
commit 026795d4c9
5 changed files with 51 additions and 4 deletions

View File

@@ -39,6 +39,8 @@ const messages = defineMessages({
'Allows Overseerr to correctly register client IP addresses behind a proxy (Overseerr must be reloaded for changes to take effect)',
localLogin: 'Enable Local User Sign-In',
validationApplicationTitle: 'You must provide an application title',
validationApplicationUrl: 'You must provide a valid URL',
validationApplicationUrlTrailingSlash: 'URL must not end in a trailing slash',
});
const SettingsMain: React.FC = () => {
@@ -52,6 +54,18 @@ const SettingsMain: React.FC = () => {
applicationTitle: Yup.string().required(
intl.formatMessage(messages.validationApplicationTitle)
),
applicationUrl: Yup.string()
.url(intl.formatMessage(messages.validationApplicationUrl))
.test(
'no-trailing-slash',
intl.formatMessage(messages.validationApplicationUrlTrailingSlash),
(value) => {
if (value?.substr(value.length - 1) === '/') {
return false;
}
return true;
}
),
});
const regenerate = async () => {
@@ -200,6 +214,9 @@ const SettingsMain: React.FC = () => {
placeholder="https://os.example.com"
/>
</div>
{errors.applicationUrl && touched.applicationUrl && (
<div className="error">{errors.applicationUrl}</div>
)}
</div>
</div>
<div className="form-row">