๐ Interactive Form with Validation
๐ฏ Project Goal
Build a signup form that:
โ Validates username
โ Validates email
โ Validates password
โ Shows success message
โ Prevents wrong submission
This is a real interview-level beginner project.
๐งฉ Project Structure
project/๐ Step 1: HTML (Form UI)
โโโ index.html
โโโ style.css
โโโ script.js
<h2>Signup Form</h2>๐จ Step 2: Basic CSS (Optional Styling)
<form id="form">
<input type="text" id="username" placeholder="Username">
<input type="text" id="email" placeholder="Email">
<input type="password" id="password" placeholder="Password">
<p id="error" style="color:red;"></p>
<p id="success" style="color:green;"></p>
<button type="submit">Register</button>
</form>
<script src="script.js"></script>
body { font-family: Arial; padding: 40px; }
input { padding: 10px; width: 250px; display:block; margin-bottom:10px; }
button { padding: 10px 20px; cursor: pointer; }
โก Step 3: JavaScript Logicconst form = document.getElementById("form");
const error = document.getElementById("error");
const success = document.getElementById("success");
form.addEventListener("submit", (e) => {
e.preventDefault();
const username = document.getElementById("username").value.trim();
const email = document.getElementById("email").value.trim();
const password = document.getElementById("password").value.trim();
error.textContent = "";
success.textContent = "";
if (username === "") {
error.textContent = "Username is required";
return;
}
if (!email.includes("@")) {
error.textContent = "Enter valid email";
return;
}
if (password.length < 6) {
error.textContent = "Password must be at least 6 characters";
return;
}
success.textContent = "Registration successful!";
});
โ
What This Project Teaches- DOM element selection
- Event handling
- Form validation logic
- UI feedback handling
- Real-world frontend workflow
โญ How to Improve (Advanced Practice)
Try adding:
โ Password show/hide toggle
โ Email regex validation
โ Multiple error messages
โ Reset form after success
โ Store data in localStorage
โก๏ธ Double Tap โฅ๏ธ For More