ホームページ >ウェブフロントエンド >jsチュートリアル >Vanilla JS を使用したフォーム検証の実装 (初心者向け)
名前、電子メール、パスワードのフィールドを含む基本的なフォームを作成します。 JavaScript 検証を実装して、送信前にフィールドが正しく入力されていることを確認します。これは、JS での基本的なフォーム検証を開始することを目的とした単純なコード付きプロジェクトです。
新しい HTML ファイルを作成します
HTML ボイラープレートを追加します
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Form Validation</title> <link rel="stylesheet" href="styles.css"> </head> <body> <form id="registrationForm"> <h2>Registration Form</h2> <div> <label for="name">Name:</label> <input type="text" id="name" name="name"> <span id="nameError" class="error"></span> </div> <div> <label for="email">Email:</label> <input type="email" id="email" name="email"> <span id="emailError" class="error"></span> </div> <div> <label for="password">Password:</label> <input type="password" id="password" name="password"> <span id="passwordError" class="error"></span> </div> <button type="submit">Register</button> </form> <script src="script.js"></script> </body> </html>
フォーム要素を追加します
新しい CSS ファイルを作成する
基本スタイルの追加
body { font-family: Arial, sans-serif; display: flex; justify-content: center; align-items: center; height: 100vh; background-color: #f4f4f4; margin: 0; } form { background: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); max-width: 400px; width: 100%; } div { margin-bottom: 15px; } label { display: block; margin-bottom: 5px; } input { width: 100%; padding: 8px; box-sizing: border-box; } .error { color: red; font-size: 12px; } button { background-color: #007BFF; color: #fff; padding: 10px; border: none; border-radius: 5px; cursor: pointer; } button:hover { background-color: #0056b3; }
新しい JavaScript ファイルを作成します
フォームにイベント リスナーを追加
document.getElementById('registrationForm').addEventListener('submit', function(event) { event.preventDefault(); validateForm(); });
検証関数の作成
function validateForm() { // Clear previous error messages document.getElementById('nameError').innerText = ''; document.getElementById('emailError').innerText = ''; document.getElementById('passwordError').innerText = ''; // Get form values const name = document.getElementById('name').value; const email = document.getElementById('email').value; const password = document.getElementById('password').value; // Validation flags let isValid = true; // Validate name if (name.trim() === '') { document.getElementById('nameError').innerText = 'Name is required'; isValid = false; } // Validate email if (email.trim() === '') { document.getElementById('emailError').innerText = 'Email is required'; isValid = false; } else if (!validateEmail(email)) { document.getElementById('emailError').innerText = 'Email is not valid'; isValid = false; } // Validate password if (password.trim() === '') { document.getElementById('passwordError').innerText = 'Password is required'; isValid = false; } else if (password.length < 6) { document.getElementById('passwordError').innerText = 'Password must be at least 6 characters'; isValid = false; } // If all fields are valid, submit the form (for demonstration, we'll just alert a message) if (isValid) { alert('Form submitted successfully!'); } } // Email validation function function validateEmail(email) { const re = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; return re.test(String(email).toLowerCase()); }
自由にコードをいじって創造性を表現してください。
コーディングを楽しんでください!
以上がVanilla JS を使用したフォーム検証の実装 (初心者向け)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。