Form doğrulama, kullanıcıdan gelen verilerin geçerli ve eksiksiz olmasını sağlamak için gereklidir. Bu makalede, 'JavaScript form doğrulama', 'form validasyonu', 'web form kodları' ve 'form doğrulama örneği' anahtar kelimeleri çerçevesinde JavaScript kullanarak form doğrulama sürecini adım adım ve örnek kodlarla açıklayacağız.
Form doğrulama işlemine başlamadan önce, doğrulayacağımız formu oluşturmamız gerekiyor. Aşağıda basit bir HTML form örneği verilmiştir:
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Form Doğrulama Örneği</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="container">
<form id="contactForm">
<h2>İletişim Formu</h2>
<div>
<label for="name">Ad:</label>
<input type="text" id="name" name="name" required>
</div>
<div>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
</div>
<div>
<label for="message">Mesaj:</label>
<textarea id="message" name="message" required></textarea>
</div>
<div>
<button type="submit">Gönder</button>
</div>
</form>
<div id="errorMessages"></div>
</div>
<script src="script.js"></script>
</body>
</html>
Formun HTML yapısını oluşturduktan sonra, JavaScript kullanarak form doğrulama işlemini gerçekleştirebiliriz. İlk olarak, formun submit olayını dinleyerek doğrulama işlemini başlatacağız.
document.getElementById('contactForm').addEventListener('submit', function(event) {
event.preventDefault();
validateForm();
});
function validateForm() {
let errors = [];
// Ad doğrulama
const name = document.getElementById('name').value;
if (name === '') {
errors.push('Ad alanı boş bırakılamaz.');
}
// Email doğrulama
const email = document.getElementById('email').value;
const emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/;
if (!emailPattern.test(email)) {
errors.push('Geçerli bir email adresi girin.');
}
// Mesaj doğrulama
const message = document.getElementById('message').value;
if (message === '') {
errors.push('Mesaj alanı boş bırakılamaz.');
}
displayErrors(errors);
}
function displayErrors(errors) {
const errorContainer = document.getElementById('errorMessages');
errorContainer.innerHTML = '';
if (errors.length > 0) {
errors.forEach(error => {
const errorElement = document.createElement('div');
errorElement.className = 'error';
errorElement.innerText = error;
errorContainer.appendChild(errorElement);
});
} else {
errorContainer.innerHTML = 'Form başarıyla gönderildi!';
}
}
Hata mesajlarını kullanıcıya göstermenin yanı sıra, formun kullanımını kolaylaştırmak için bazı ipuçları ve stil eklemek de önemlidir. Kullanıcı dostu hata mesajları ve görsel bildirimler, form doğrulamasını daha etkili hale getirebilir.
Aşağıdaki CSS kodu ile hata mesajlarına stil verebiliriz:
body {
font-family: Arial, sans-serif;
background-color: #f4f4f4;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.container {
background-color: #fff;
padding: 20px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
width: 300px;
}
form div {
margin-bottom: 15px;
}
.error {
color: red;
font-size: 14px;
}
#successMessage {
color: green;
}
JavaScript fonksiyonunda displayErrors fonksiyonunu kullanarak hata mesajlarını kullanıcıya gösterebiliriz.
function displayErrors(errors) {
const errorContainer = document.getElementById('errorMessages');
errorContainer.innerHTML = '';
if (errors.length > 0) {
errors.forEach(error => {
const errorElement = document.createElement('div');
errorElement.className = 'error';
errorElement.innerText = error;
errorContainer.appendChild(errorElement);
});
} else {
errorContainer.innerHTML = '<div id="successMessage">Form başarıyla gönderildi!</div>';
}
}
Yukarıda verilen HTML, CSS ve JavaScript kodlarıyla basit bir form doğrulama işlemi gerçekleştirdik. Bu form, kullanıcıdan ad, email ve mesaj bilgilerini alarak bu bilgilerin doğruluğunu kontrol eder. Hatalı veya eksik bilgi girişi durumunda kullanıcıya uygun hata mesajları gösterilir.
<!DOCTYPE html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Form Doğrulama Örneği</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="container">
<form id="contactForm">
<h2>İletişim Formu</h2>
<div>
<label for="name">Ad:</label>
<input type="text" id="name" name="name" required>
</div>
<div>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
</div>
<div>
<label for="message">Mesaj:</label>
<textarea id="message" name="message" required></textarea>
</div>
<div>
<button type="submit">Gönder</button>
</div>
</form>
<div id="errorMessages"></div>
</div>
<script src="script.js"></script>
</body>
</html>
body {
font-family: Arial, sans-serif;
background-color: #f4f4f4;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.container {
background-color: #fff;
padding: 20px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
width: 300px;
}
form div {
margin-bottom: 15px;
}
.error {
color: red;
font-size: 14px;
}
#successMessage {
color: green;
}
document.getElementById('contactForm').addEventListener('submit', function(event) {
event.preventDefault();
validateForm();
});
function validateForm() {
let errors = [];
// Ad doğrulama
const name = document.getElementById('name').value;
if (name === '') {
errors.push('Ad alanı boş bırakılamaz.');
}
// Email doğrulama
const email = document.getElementById('email').value;
const emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/;
if (!emailPattern.test(email)) {
errors.push('Geçerli bir email adresi girin.');
}
// Mesaj doğrulama
const message = document.getElementById('message').value;
if (message === '') {
errors.push('Mesaj alanı boş bırakılamaz.');
}
displayErrors(errors);
}
function displayErrors(errors) {
const errorContainer = document.getElementById('errorMessages');
errorContainer.innerHTML = '';
if (errors.length > 0) {
errors.forEach(error => {
const errorElement = document.createElement('div');
errorElement.className = 'error';
errorElement.innerText = error;
errorContainer.appendChild(errorElement);
});
} else {
errorContainer.innerHTML = '<div id="successMessage">Form başarıyla gönderildi!</div>';
}
}
JavaScript ile form doğrulama işlemi, web formlarının güvenli ve kullanıcı dostu olmasını sağlar. Bu makalede, 'JavaScript form doğrulama', 'form validasyonu', 'web form kodları' ve 'form doğrulama örneği' anahtar kelimeleri çerçevesinde form doğrulama sürecini adım adım inceledik. Bu bilgiler ve örnek kodlar ile kendi projelerinizde form doğrulama işlemlerini kolayca uygulayabilirsiniz.
Profesyonel ve her yönü ile kontrol edilebilir gelişmiş çok özellikli ajans yazılımıdır. İşte öne çıkan özellikler.