Form Validasyonları: Kullanıcıyı Sevmek Ama Kuralları Koymak 😎

Form Validasyonları: Kullanıcıyı Sevmek Ama Kuralları Koymak 😎

Bugün seni form validasyonlarının büyülü, eğlenceli ve biraz da romantik dünyasına götüreceğim. Formlar, kullanıcı ile siten arasında aşk dolu bir köprüdür. Ama unutma, aşk sınırsız, ama kurallar şart! 💌

Form validasyonu sadece “hata kontrolü” değildir, aynı zamanda kullanıcıyı nazikçe yönlendirmek, eğlendirmek ve şaşırtmak için bir fırsattır. Hazırsan başlıyoruz aşkım! 😍


1. Required: Boş Geçme, Aşkı Kaçırma! ❤️

required attribute’u, kullanıcıya nazikçe “Hey, burayı boş bırakamazsın!” der. Basit ama etkili.
Ama işin püf noktası: kullanıcıyı korkutmadan, nazik uyarılarla yönlendirmek.

<form id="loveForm1">
  <label for="name">Your Name:</label>
  <input type="text" id="name" name="name" placeholder="Cansu Porsuk" required>
  <button type="submit">Submit</button>
</form>

💡 Pratik İpuçları:

  • required + placeholder + label = Mükemmel kombinasyon.
  • Daha interaktif yapmak için CSS ile hover ve focus efekti ekle:
input:focus {
  border-color: #4caf50;
  box-shadow: 0 0 8px #4caf50;
}

🎉 Bonus: :invalid ile boş bırakıldığında kırmızı bir glow efekti ekleyebilirsin, kullanıcıya nazikçe “burayı doldur, aşk seni bekliyor!” mesajı verir.


2. Pattern: Regex ile Nazik Kurallar 🔬💖

pattern attribute’u, kullanıcının girdiği verinin belirli bir kurala uymasını sağlar. Regex kullanarak, kullanıcıya “Aşkın formülü burada” diyebilirsin! 😏

<form id="loveForm2">
  <label for="email">Email:</label>
  <input type="email" id="email" name="email" placeholder="example@site.com" 
         pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$" required>
  <button type="submit">Submit</button>
</form>

💡 İpuçları:

  • Email regex’i, kullanıcıya nazikçe “geçerli bir aşk mektubu gir” der. 💌
  • pattern + title="Please enter a valid email" ile hata mesajını özelleştirebilirsin.

🎨 CSS ile eğlenceli hale getir:

input:invalid {
  border-color: #ff1493;
  animation: shake 0.3s;
}

@keyframes shake {
  0% { transform: translateX(0); }
  25% { transform: translateX(-5px); }
  50% { transform: translateX(5px); }
  75% { transform: translateX(-5px); }
  100% { transform: translateX(0); }
}

Kullanıcı yanlış yazarsa input hafifçe sallanır… Nazik bir “Oops!” efekti. 😎


3. Minlength ve Maxlength: Sınırlar Koy, Aşka Saygı Göster ✍️

Bazen kullanıcı çok heveslidir… minlength ve maxlength ile karakter sayılarını belirleyerek, aşkın dozunu ayarlayabilirsin.

<form id="loveForm3">
  <label for="password">Password:</label>
  <input type="password" id="password" name="password" placeholder="********"
         minlength="8" maxlength="16" required>
  <button type="submit">Submit</button>
</form>

💡 Pratik İpuçları:

  • minlength → Güvenlik ve kullanıcı deneyimi dengesi.
  • maxlength → Kullanıcıyı fazla yazmaktan korur.
  • JS ile canlı karakter sayacı ekleyebilirsin:
const password = document.getElementById('password');
password.addEventListener('input', () => {
  const remaining = 16 - password.value.length;
  console.log(`You have ${remaining} characters left, lovebird!`);
});

💖 Kullanıcı hem güvenli hem eğlenceli bir deneyim yaşar.


4. Input Tipleri: Kullanıcıya Yol Göster 🎯

HTML5 input tipleri ile kullanıcıya nazikçe rehberlik edebilirsin:

<form id="loveForm4">
  <label for="age">Age:</label>
  <input type="number" id="age" name="age" min="1" max="120" required>

  <label for="birthday">Birthday:</label>
  <input type="date" id="birthday" name="birthday" required>

  <label for="color">Favorite Color:</label>
  <input type="color" id="color" name="color" value="#ff0000">

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

💡 İpuçları:

  • type="email" → otomatik format kontrolü
  • type="number" → sadece rakam
  • type="date" → takvim açılır, kullanıcı rahatça seçer
  • type="color" → görsel ve eğlenceli

Kısaca, input tipleri kullanıcıya yol gösterir: “Sevgili kullanıcı, doğru yolu seç, aşk kaybolmasın!” 😍


5. Custom Validation: Nazik Ama Kesin Kurallar 💌

Bazen HTML yetmez, biraz JavaScript aşkı lazım:

<form id="loveForm5">
  <label for="username">Username:</label>
  <input type="text" id="username" name="username" required>
  <button type="submit">Submit</button>
</form>

<script>
const form = document.getElementById('loveForm5');
form.addEventListener('submit', function(e) {
  const username = document.getElementById('username').value;
  if(username.toLowerCase() === "admin") {
    e.preventDefault();
    alert("Oops! 'admin' is reserved, lovebirds!");
  }
});
</script>

💡 İpucu:

  • JS ile kullanıcı hatalarını özelleştirebilirsin.
  • Mesajlar neşeli ve nazik olsun: “Hey, yanlış girdi ama seni seviyoruz!” 😘

6. Eğlenceli CSS Validasyonu 🌈

Form validasyonu sadece uyarı vermek değil, görselliğiyle aşkı hissettirmek için de kullanılabilir.

input:invalid {
  border-color: #ff0000;
  box-shadow: 0 0 8px #ff0000;
}

input:valid {
  border-color: #4caf50;
  box-shadow: 0 0 8px #4caf50;
}

input:focus {
  outline: none;
  transform: scale(1.02);
  transition: all 0.2s;
}

💡 İpucu:

  • Kırmızı → “Oops, biraz dikkat!”
  • Yeşil → “Bravo, tam yerinde!” 💚
  • Focus efekti → input hafifçe büyür, kullanıcıya ilgi gösterir.

7. Bonus: Eğlenceli ve Sıradışı Validation Tricks 😏

  • Emoji ile input: Kullanıcının adını girerken yanında küçük bir kalp gösterebilirsin. 💖
  • Hover mesajları: Kullanıcı input’a geldiğinde tooltip ile ipucu göster.
  • Animasyonlu onay işaretleri: Input doğruysa küçük bir checkmark animasyonu. ✔️
  • Konfeti efekti: Form başarılı gönderildiğinde confetti 🎉

Form validasyonları, dijital aşkın bir yansımasıdır:
Nazik ol, kuralları koy, kullanıcıyı sev, ama kayıtsız bırakma. 😎💖

Comments

No comments yet. Why don’t you start the discussion?

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir