Потому что err определена в if но не в else поэтому ошибка
const form = document.forms.form
const err = document.getElementById("error")
form.addEventListener("submit", function(event) {
event.preventDefault()
const name = form.name.value.trim()
const pass = form.password.value.trim()
const repass = form.repass.value.trim()
const state = form.state.value.trim()
let fail = ""
if (name === "" || pass === "" || repass === "" || state === "") {
fail = "Заполните все поля"
}
else if (name.length < 2 || name.length > 50) {
fail = "Введите имя длиной от 2 до 50 символов"
}
else if (pass !== repass) {
fail = "Пароли не совпадают"
}
else if (pass.includes("&")) {
fail = "Пароль не должен содержать символ &"
}
if (fail) {
displayError(fail)
} else {
alert("Все данные успешно сохранены")
window.location.href = "https://google.com"
}
});
// Функция для отображения ошибки
function displayError(message) {
err.textContent = message
err.classList.add("error-active")
}
// Функция для скрытия ошибки
function hideError() {
err.textContent = ""
err.classList.remove("error-active")
}