Episode 46 of 46

Very Simple Validations

Learn basic form validation techniques to ensure users enter correct data.

Form validation ensures users enter the correct data before submission. Let's build simple but effective validations.

Basic Required Field Check

function validateForm() {
    let name = document.getElementById("name").value.trim();
    let email = document.getElementById("email").value.trim();

    if (name === "") {
        alert("Name is required!");
        return false;
    }
    if (email === "") {
        alert("Email is required!");
        return false;
    }
    return true;
}

Email Validation

function isValidEmail(email) {
    // Simple check β€” contains @ and a dot
    return email.includes("@") && email.includes(".");
}

// Better: use a regex pattern
function isValidEmail(email) {
    let pattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
    return pattern.test(email);
}

console.log(isValidEmail("alice@example.com")); // true
console.log(isValidEmail("not-an-email"));       // false

Password Strength

function isStrongPassword(password) {
    if (password.length < 8) {
        return "Password must be at least 8 characters";
    }
    if (!/[A-Z]/.test(password)) {
        return "Password must contain an uppercase letter";
    }
    if (!/[0-9]/.test(password)) {
        return "Password must contain a number";
    }
    return ""; // No error β€” valid!
}

Complete Validation Example

let form = document.getElementById("signup");
let errorDiv = document.getElementById("errors");

form.addEventListener("submit", function(e) {
    e.preventDefault();
    let errors = [];

    let name = form.elements.name.value.trim();
    let email = form.elements.email.value.trim();
    let password = form.elements.password.value;

    if (name === "") errors.push("Name is required");
    if (name.length < 2) errors.push("Name must be at least 2 characters");
    if (!isValidEmail(email)) errors.push("Enter a valid email");

    let pwdError = isStrongPassword(password);
    if (pwdError) errors.push(pwdError);

    if (errors.length > 0) {
        errorDiv.innerHTML = errors.map(e => `<p>${e}</p>`).join("");
        errorDiv.style.display = "block";
    } else {
        errorDiv.style.display = "none";
        console.log("Form is valid! Submitting...");
    }
});

HTML5 Built-in Validation

<input type="text" required minlength="2">
<input type="email" required>
<input type="password" required minlength="8">

HTML5 attributes provide basic validation automatically. Combine them with JavaScript validation for the best user experience.

Congratulations! You've completed the JavaScript tutorial series. You now have a solid foundation to build interactive web pages! πŸŽ‰