document.getElementById("contactForm").addEventListener("submit", function (e) { const name = document.getElementById("name"); const email = document.getElementById("email"); const message = document.getElementById("message"); let valid = true; // Clear errors document.querySelectorAll("[data-error]").forEach(el => { el.classList.add("hidden"); el.textContent = ""; }); // Validate name if (name.value.trim() === "") { showError("name", "Name is required"); valid = false; } // Validate email if (!/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(email.value)) { showError("email", "Enter a valid email address"); valid = false; } // Validate message if (message.value.trim().length < 10) { showError("message", "Message must be at least 10 characters"); valid = false; } if (!valid) { e.preventDefault(); } function showError(field, message) { const el = document.querySelector(`[data-error="\${field}"]`); el.textContent = message; el.classList.remove("hidden"); } });