DEV Community

Cover image for Form Validation Using JavaScript and HTML 📝✨
Info general Hazedawn
Info general Hazedawn

Posted on

1

Form Validation Using JavaScript and HTML 📝✨

Validating user inputs in web forms is a crucial step in ensuring data integrity and enhancing user experience. By implementing form validation using JavaScript, you can check user inputs before submission, preventing errors and improving the overall quality of the data collected. In this blog post, we will explore how to validate user inputs in web forms with JavaScript, including examples for checking required fields, email formats, and more.

Why is Form Validation Important? 🔑

  • Data Integrity: Ensures that the data submitted by users meets specific criteria.
  • User Experience: Provides immediate feedback to users, helping them correct errors before submission.
  • Security: Reduces the risk of malicious data being sent to your server.

Setting Up Your HTML Form 🏗️
Let’s start by creating a simple HTML form that we will validate using JavaScript.

Here’s an example:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Form Validation Example</title>
    <link rel="stylesheet" href="styles.css"> <!-- Optional CSS -->
</head>
<body>
    <h1>User Registration Form</h1>
    <form id="registrationForm">
        <label for="username">Username (required):</label>
        <input type="text" id="username" name="username" required>
        <br>

        <label for="email">Email (required):</label>
        <input type="email" id="email" name="email" required>
        <br>

        <label for="password">Password (required):</label>
        <input type="password" id="password" name="password" required minlength="6">
        <br>

        <button type="submit">Register</button>
    </form>

    <div id="errorMessages"></div>

    <script src="script.js"></script> <!-- Link to your JavaScript file -->
</body>
</html>
Enter fullscreen mode Exit fullscreen mode

Explanation:
Form Structure: The form includes fields for username, email, and password, with the required attribute to ensure they are filled out.
Error Messages Div: A div to display any validation error messages.

Implementing JavaScript Validation Functions ⚙️
Now let’s create a file named script.js where we will write our validation logic:

document.getElementById('registrationForm').addEventListener('submit', function(event) {
    event.preventDefault(); // Prevent form submission
    const errorMessages = [];

    // Validate Username
    const username = document.getElementById('username').value;
    if (username.trim() === '') {
        errorMessages.push('Username is required.');
    }

    // Validate Email
    const email = document.getElementById('email').value;
    if (!validateEmail(email)) {
        errorMessages.push('Please enter a valid email address.');
    }

    // Validate Password
    const password = document.getElementById('password').value;
    if (password.length < 6) {
        errorMessages.push('Password must be at least 6 characters long.');
    }

    // Display Error Messages
    const errorMessagesDiv = document.getElementById('errorMessages');
    errorMessagesDiv.innerHTML = ''; // Clear previous messages
    if (errorMessages.length > 0) {
        errorMessages.forEach(message => {
            const p = document.createElement('p');
            p.textContent = message;
            p.style.color = 'red'; // Style error messages
            errorMessagesDiv.appendChild(p);
        });
    } else {
        alert('Registration successful!'); // Simulate successful registration
        // Here you can proceed with form submission or further processing
    }
});

// Email validation function
function validateEmail(email) {
    const re = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; // Simple regex for email validation
    return re.test(String(email).toLowerCase());
}
Enter fullscreen mode Exit fullscreen mode

Explanation:
Event Listener: We prevent the default form submission to handle validation first.

Validation Logic:

  • Username: Checks if the username is empty.
  • Email: Uses a regex pattern to validate the email format.
  • Password: Ensures the password is at least 6 characters long.
  • Error Messages: Displays any validation errors below the form.

Step 3: Adding Basic CSS (Optional) 🎨
You can enhance the appearance of your form with some basic CSS. Create a styles.css file:

body {
    font-family: Arial, sans-serif;
}

form {
    max-width: 400px;
    margin: auto;
}

label {
    display: block;
    margin-top: 10px;
}

input {
    width: 100%;
    padding: 8px;
}

button {
    margin-top: 10px;
}
Enter fullscreen mode Exit fullscreen mode

Conclusion: Validating User Inputs Made Easy! 🎉
Implementing form validation using JavaScript and HTML can significantly improve user experience and data integrity in your web applications. This tutorial covered how to validate required fields, check email formats, and enforce password rules.

Next Steps:

  • Explore additional validations like confirming passwords or validating phone numbers.
  • Consider using libraries like jQuery Validation or Formik for more complex forms.

Start validating your forms today and enhance your web applications! 💡✨

JavaScript #HTML #FormValidation #WebDevelopment #Coding #FrontendDevelopment #LearnToCode #TechForBeginners #WebDesign

Image of Datadog

The Essential Toolkit for Front-end Developers

Take a user-centric approach to front-end monitoring that evolves alongside increasingly complex frameworks and single-page applications.

Get The Kit

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay