78 lines
2.9 KiB
JavaScript
78 lines
2.9 KiB
JavaScript
const errmsg = `
|
|
<div class="form-group">
|
|
<p class="page-paragraph-error">Napaka pri registraciji! Preverite vnešene podatke oz. poskusite kasneje.</p>
|
|
</div>
|
|
`;
|
|
|
|
document.getElementById("login-form").addEventListener("submit", async function(event) {
|
|
event.preventDefault();
|
|
|
|
// Izbriši prejšnje napake
|
|
const previousErrors = document.querySelectorAll(".page-paragraph-error");
|
|
previousErrors.forEach(error => error.remove());
|
|
// Izbriši prejšnje uspehe
|
|
const previousSuccesses = document.querySelectorAll(".page-paragraph-success");
|
|
previousSuccesses.forEach(success => success.remove());
|
|
|
|
const username = document.getElementById("username").value;
|
|
const email = document.getElementById("email").value;
|
|
const password = document.getElementById("password").value;
|
|
const confirmPassword = document.getElementById("confirm-password").value;
|
|
const form = document.getElementById("login-form");
|
|
|
|
try {
|
|
// Veljavnost vnosa
|
|
if (!username || !email || !password || !confirmPassword) {
|
|
form.insertAdjacentHTML(
|
|
"beforeend",
|
|
`<div class="form-group"><p class="page-paragraph-error">Vsa polja so obvezna!</p></div>`
|
|
);
|
|
return;
|
|
}
|
|
|
|
if (!email.includes("@")) {
|
|
form.insertAdjacentHTML(
|
|
"beforeend",
|
|
`<div class="form-group"><p class="page-paragraph-error">Neveljaven email naslov!</p></div>`
|
|
);
|
|
return;
|
|
}
|
|
|
|
if (password !== confirmPassword) {
|
|
form.insertAdjacentHTML(
|
|
"beforeend",
|
|
`<div class="form-group"><p class="page-paragraph-error">Gesli se ne ujemata!</p></div>`
|
|
);
|
|
return;
|
|
}
|
|
|
|
const response = await fetch("http://localhost:3000/registracija", {
|
|
method: "POST",
|
|
headers: {
|
|
"Content-Type": "application/json"
|
|
},
|
|
body: JSON.stringify({ "username": username, "email": email, "password": password })
|
|
});
|
|
|
|
const data = await response.json().catch(() => ({}));
|
|
|
|
if (response.status === 200) {
|
|
setTimeout(() => {
|
|
form.insertAdjacentHTML(
|
|
"beforeend",
|
|
`<div class="form-group"><p class="page-paragraph-success">Uspešna registracija! Preusmerjanje na prijavo...</p></div>`
|
|
);
|
|
}, 500);
|
|
window.location.href = "/login.html";
|
|
return;
|
|
}
|
|
|
|
const message = data.message || "Napaka pri registraciji! Preverite vnešene podatke oz. poskusite kasneje.";
|
|
form.insertAdjacentHTML(
|
|
"beforeend",
|
|
`<div class="form-group"><p class="page-paragraph-error">${message}</p></div>`
|
|
);
|
|
} catch (error) {
|
|
form.insertAdjacentHTML("beforeend", errmsg);
|
|
}
|
|
}); |