08フォームとバリデーション
ウェブアプリケーションでは、フォームとバリデーションが非常に重要です。フォームはユーザーから情報を収集するための手段で、バリデーションはその収集した情報が正しく、期待されるルールや要件に合致しているかを確認するプロセスです。
フォーム・バリデーションの実装
jQueryを使ったフォームの全体的な例を作成してみましょう。この例では、単純なユーザー登録フォームを作成し、jQueryを用いてフォームの入力値を取得し、バリデーションを行い、最終的にはフォームをプログラム的に送信する方法を示します。
HTMLフォーム
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>ユーザー登録フォーム</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<form id="registrationForm">
<label for="username">ユーザー名:</label>
<input type="text" id="username" name="username" required>
<br>
<label for="email">メールアドレス:</label>
<input type="email" id="email" name="email" required>
<br>
<label for="password">パスワード:</label>
<input type="password" id="password" name="password" required>
<br>
<button type="submit">登録</button>
</form>
<script src="form-script.js"></script>
</body>
</html>JavaScript (jQuery) でのフォーム操作
フォームスクリプト(form-script.js)では、以下の機能を実装します
- フォームのバリデーション
- フォームデータの取得
- フォームの送信防止とカスタム送信処理
$(document).ready(function() {
$('#registrationForm').submit(function(event) {
event.preventDefault(); // フォームの自動送信を防ぐ
var username = $('#username').val().trim();
var email = $('#email').val().trim();
var password = $('#password').val().trim();
// 簡単なバリデーション
if (username === "" || email === "" || password === "") {
alert("すべてのフィールドを入力してください。");
return;
}
if (!email.includes('@')) {
alert("有効なメールアドレスを入力してください。");
return;
}
// フォームデータの使用、例えばAjaxを使ってサーバーに送信
$.ajax({
url: 'register.php', // 送信先URL
type: 'POST',
data: {
username: username,
email: email,
password: password
},
success: function(response) {
console.log('登録成功: ', response);
alert('登録が完了しました!');
},
error: function() {
alert('登録に失敗しました。');
}
});
});
});
・バリデーション例1

・バリデーション例2

この例では、ユーザーがフォームに入力したデータを取得し、いくつかの基本的なバリデーションチェックを行った後、すべてのチェックが通過したら、Ajaxを使用してこれらのデータをサーバーに送信します。サーバー側でさらに処理が行われた後、成功または失敗のレスポンスに基づいてユーザーに通知します。
このように、jQueryを使用するとフォームの操作が簡単にでき、ユーザーエクスペリエンスの向上に役立ちます。この例を基にして、さらに複雑なバリデーションや機能を追加することも可能です。
コメントを残す