Jquery “Validation Engine” eklentisi ile form doğrulama

Çok form doğrulama aracı kullanmama rağmen, bi’türlü aradığım aracı bulamamıştım. Bu jquery eklentisi; bu arayışa son verdi. Eklenti’nin öne çıkan özellikleri;

  1. Hata ve uyarı görüntüleme yöntemi çok şık. Çoğru zaman dar form alanlarına uyarı eklendiğinde formun görüntüsü bozuluyordu. Bu eklenti uyarı ve hataların görüntülenmesinde  “position:absolute” değeri kullandığı için. Bir hata verdiğinde formun hiçbir yerinde kayma veya bozulma olmuyor.
  2. İlgili form elemanının doğrulama seçeneklerini elemanın “class” özelliğine ekliyorsunuz. Bi’kaç eklentide olduğu gibi tüm doğrulama kodlarını ayrı bir yerde toplamak pek kullanışlı olmuyor.
  3. Jquery eklentisi.

Bir de kötü yanı var o da doğrulamak istediğiniz form elemanına “id” değeri verme zorunluluğu.

Örnek Uygulama | Örnek Uygulamayı İndir

Nasıl kullanılır?


<html>
<head>
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.validationEngine.js"></script>
<script type="text/javascript" src="js/jquery.validationEngine-tr.js"></script>
<link rel="stylesheet" type="text/css" href="css/jquery.validationEngine.css">
<script type="text/javascript">
$("document").ready(function(){
$("#form").validationEngine();
})
</script>
<style type="text/css">
label{display:block};
</style>
</head>
<body>
<h1>Jquery Validation Engine Eklentisi ile Form doğrulamak</h1>
<form id="form" method="post" action="#">
<label>Ad:</label><br />
<input name="ad" id="ad"><br />
<button type="submit">Gönder</button></p>
</form>
</body>
</html>

Özetlemek gerekirse. Önce jquery.js,validationEngine.js,validationEngine-tr.js ve validationEngine.css scriptlerini sayfaya çağırıyoruz. Sonra jquery’nin “document.ready” olayına $(“#formid”).validationEngine(); kodu ile formumuzu doğrulamasını istiyoruz. Doğrulanacak elemana gelince onun “class” özelliğine “validate” cümlesi içinde köşeli parantezler arasına doğrulama seçeneğini/seçeneklerini koyuyoruz.

Doğrulama seçenekleri

required: Doldurumlası zorunlu alanlar için
length[0,100] : Alana girilen değerin uzunluğunu kontrol etmek için. Örnekte:0 ile 100 arası.
maxCheckbox[7] : Checkbox grubunda Maksimim seçilebilecek Checkbox sayısı.
minCheckbox[7] : Checkbox grubunda Minimum seçilmesi gereken Checkbox sayısı.
confirm[diger_alan_id] : İki alanı birbirine eşleştirmek için. Örneğin Şifre ve Şifre tekrar alanları
telephone : Telefon numarası.
email : Eposta adresi.
onlyNumber : Sadece numaralar.
noSpecialCaracters : Özel karakterlere izin vermeme.
onlyLetter : Sadece harfler.
exemptString : Muaf metin.
date : Tarih doğrulamak için varsayılan olarak (YYYY-AA-GG) deseni.

Birkaç örnek kullanım daha


<input name="eposta" id="eposta"/> // Email adresi doğrular<br />
<input name="soyad" id="soyad"/> // 1 ile 3 arası karakter için izin verir.

Aralarına virgül (,) koyarak tek inputa istediğimiz kadar doğrulama seçeneği uygulayabiliriz. Örn:


<input name="telefon" id="telefon"/><br />
//Zorunlu telefon girişi<br />

Formu ajax ile göndermek isterseniz document ready’deki doğrulama kodunu şu şekil kullanmalısınız:


$("#giris").validationEngine({
unbindEngine:false,
success: function(){this.submit = false; //ajax kodları...
}});

Örnek Uygulama | Örnek Uygulamayı İndir

Not: Örnek uygulama içinde çevirdiğim “jquery.validationEngine-tr.js” dosyasında çeviri hataları veya eksiklikler olabilir.

Kaynak : www.position-absolute.com |

yedincisenol

Diğer yazıları: serpito.com/author/senol 23 Yaşında bir web geliştirici ve kindir.net kurucusu. Php,mysql,html,css,javascript,jquery ile harika işler çıkarmanın peşinde. Facebook, Friendfeed , Twitter'da takip edebilirsiniz. blog.yedincisenol.com kişisel blogu ;)

Website - More Posts

12 Comments

  • suat
    03 Mart 2010 - 22:22 | Permalink

    hocam mukkemel bir şey bu ya işimi çok kolaylaştırdı sağolasın

  • kaya
    03 Mayıs 2010 - 22:25 | Permalink

    download adresi sanırım artık çalışmıyor.

  • 05 Mayıs 2010 - 21:52 | Permalink

    @kaya,linki güncelledim. Şimdi çalışır durumda. :)

  • 26 Mayıs 2010 - 15:56 | Permalink

    Selamlar,
    validate[custom[telephone]] dediğimde required demememe rağmen yine de sanki zorunluymuş gibi bana uyarı veriyor. Boş geçilirse bu uyarı vermemesi için ne yapmak gerek ?

  • 26 Mayıs 2010 - 19:03 | Permalink

    validate[optional,custom[telephone]]
    işi çözüyormuş…

  • 26 Mayıs 2010 - 22:18 | Permalink

    :) Çok kullanışlı ve gelişmiş bir eklenti.

  • Umut
    31 Mart 2011 - 15:56 | Permalink

    Hayırlı günler bu script textarea larda çalışmıyor mu acaba?

  • 03 Nisan 2011 - 12:16 | Permalink

    Umut, eklenti textarea’larda da çalışıyor.

  • 03 Eylül 2011 - 11:39 | Permalink

    sanırım download linki çalışmıyor.

  • 05 Eylül 2011 - 08:46 | Permalink

    @pursaklar İndirme linki güncellendi. :)

  • 06 Eylül 2011 - 11:04 | Permalink

    Örnek uygulama linkini de güncelledim.

  • Meraklı
    08 Aralık 2011 - 17:59 | Permalink

    Ellerinize sağlık, bir form içerisinde birden fazla button için ayrı ayrı kontrol mümkünmüdür? misal yan yana biri üye giriş diğer ise üye kayıt formu ikiside farklı butonlarla kullanılıyor ama aynı form içerisindeler.

  • Bir Cevap Yazın

    E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

    *

    Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>