form/admin: don't allow "+" in username/email

Jellyfin doesn't like this.
This commit is contained in:
Harvey Tindall
2024-08-24 15:04:18 +01:00
parent a7aa3fd53e
commit 6c30a1ff40
9 changed files with 64 additions and 9 deletions
+19
View File
@@ -176,13 +176,32 @@ const rePasswordField = document.getElementById("create-reenter-password") as HT
let captcha = new Captcha(window.code, window.captcha, window.reCAPTCHA, false);
const clearSubmitButton = () => {
submitInput.setCustomValidity("");
submitSpan.title = "";
};
const invalidMessage = (el: HTMLInputElement, msg: string) => {
el.setCustomValidity(msg);
submitInput.setCustomValidity(msg);
submitSpan.title = msg;
};
function _baseValidator(oncomplete: (valid: boolean) => void, captchaValid: boolean): void {
clearSubmitButton();
if (window.emailRequired) {
if (!emailField.value.includes("@")) {
oncomplete(false);
return;
}
}
usernameField.setCustomValidity("");
// Jellyfin doesn't like having "+" in the username field
if (usernameField.value.includes("+")) {
invalidMessage(usernameField, window.messages["errorSpecialSymbols"]);
oncomplete(false);
return;
}
if (window.discordEnabled && window.discordRequired && !discordVerified) {
oncomplete(false);
return;