IPost/js/register.js
2023-02-04 14:56:42 +01:00

37 lines
1.1 KiB
JavaScript

async function register() {
if(document.getElementById("pass").value.length < 10) {
alert("Password has to be at least 10 characters long")
return;
}
if(document.getElementById("user").value.length > 25) {
alert("Username is too long!")
return;
}
if(document.getElementById("user").value.search("@") != -1) {
alert("User cannot contain '@' character!")
return;
}
let r = (await post("/register",{
user: document.getElementById("user").value,
pass: document.getElementById("pass").value,
r: REDIRECT_URL
}))
if(!r.url.endsWith("/user?success=true") && !r.url.endsWith(REDIRECT_URL)) {
if(r.url.endsWith("already_exists")) {
alert("An account with that name already exists! Did you mean to login?")
return
}
//fallback
document.getElementById("pass").value = ""
console.error("registration failed")
alert("Registration failed")
return;
}
window.location = REDIRECT_URL || "/user"
}
function passkeydown(e) {
if(e.code == "Enter") {
register()
}
}