Coldfusion'da Gelişmiş Form Alanı Doğrulama (Validation) Seçenekleri
Zehra Doruk Tarih: 7/03/2005 Yorum: 0 adet
Okunma : 294 Tutanlar: Bu yazıyı 0 kişi tuttu.
Bilgi giriş formları, web tabanlı uygulamalarda hem kullanıcı hem de geliştiriciler açısından en sorunlu mesele olmuştur. HTML formlarını eleştirmeksizin, (aslında biraz da eleştirebiliriz, çünkü başlangıçta bu konuda hepimizin kötü deneyimleri olmuştur), ColdFusion MX 7, formları, form alanı doğrulama seçeneklerinden başlayarak pek çok yönde geliştirmiştir.
ColdFusion, URL ve e-mailler için sık kullanılan doğrulama (validation) türleri de dahil pek çok farklı doğrulama (validation) içerir. Hatta, bu farklı türlerine ek olarak, Javascript hata mesajları sayesinde, client taraflı doğrulamalarda, yalnız ilk hatayı değil bütün hataları bir kerede gösterme yeteneğine de sahiptir.
Belki de bu sürümde form ile ilgili olarak yapılan en önemli iyileştirme şu olmuştur; artık hem client-side hem de server-side doğrulamalar aynı anda uygulanabilmektedir. cfinput tagı, validateAt isimli nitelikle (attribute ile) şunları da yapabilmektedir;
onSubmit (varsayılan değer), kullanıcı tarafından doldurulan bir formun, cfinput tagında olduğu gibi, kullanıcı taraflı doğrulamasını (client-side validation) yapar.
<!--- Client-side validation on submit --->
<cfinput type="text"
name="quantity"
validate="integer"
validateAt="onSubmit"
required="yes"
message="Numeric quantity is required!">
, kullanıcı farklı bir form alanına sekmeyle ya da tıklayarak geçtiği zaman kullanıcı taraflı doğrulamayı (client-side validation) yapar.
<!--- Client-side validation on loss of focus --->
<cfinput type="text"
name="quantity"
validate="integer"
validateAt=" quantity is required!">
OnServer, gizli form alanlarında da olduğu gibi server taraflı doğrulamaları belirtir. Ama, gerçekte bu alanların tanımlanmasına gerek yoktur. (Bu alanlar halihazırda vardır, fakat otomatik olarak üretilir ve sayfaya gömülürler. )
<!--- Server-side validation --->
<cfinput type="text"
name="quantity"
validate="integer"
validateAt="onServer"
required="yes"
message="Numeric quantity is required!">
Yukarıda verilen örneklerdeki üç farklı cfinput tag da aynı doğrulamayı farklı yöntemlerle yapar. İstenirse bu doğrulama yöntemleri karışık kullanılabilir. Örneğin kullanıcı ve sunucu tarafında doğrulama için şu şekilde bir yöntem izleyebilirsiniz;
<!--- Client-side validation on submit --->
<cfinput type="text"
name="quantity"
validate="integer"
validateAt="onSubmit,onServer"
required="yes"
message="Numeric quantity is required!">
Burada, validateAt niteliği iki farklı değeri belirtir (onSubmit and onServer), böylece ColdFusion kullanıcı tarafında bir doğrulama kodu üretir ve bu kodu sunucu taraflı doğrulama için gizli form alanları içerisine gömer.
Diğer bir doğrulama yöntemi de girdi maskeleme (input masking) yöntemidir. ColdFusion MX 7 bunun için de yeni bir niteliğe sahiptir. mask niteliği, girdi filtresi gibi çalışır. "Mask, bilgi girişini doğrulamak için kullanılan ve özel karakterler içeren koşullara verilen adtır" diyebiliriz. Örneğin; soru işareti (?), her türlü karakterin; A harfi sadece alfabetik; 9 sayısı, sadece numerik; X harfi ise alfa-numerik karakterlerin girilmesine izin verir. Bunlardan başka özel bir karakter kullanılmak isteniyorsa bunun koddaki girdi alanına tanımlanması gerekir.
Örneğin, 3 rakamdan oluşacak yaş doğrulaması için şu kodu kullanmanız gerekir;
<cfinput type="text"
name="age"
maxlength="3"
mask="999">
"999" maskesi, sadece numerik değerleri kabul eder. Eğer kullanıcı numerik olmayan bir değer girerse, kabul edilmez.
(123) 456-7890 şeklindeki Amerikan tarzı telefon numarası doğrulaması için ise şu şekilde bir kod kullanmanız gerekir;
<cfinput type="text"
name="phone"
maxlength="13"
mask="(999) 999-9999">
Burada da kullanılan maske sadece numerik değerlerin girilmesine izin verir; ancak diğer karakteri otomatik olarak kendisi girer.
Kanada’da kullanılan posta kodu tipindeki girdiler için de, şu şekilde bir kod kullanmanız gerekir;
<cfinput type="text"
name="postcode"
maxlength="7"
mask="A9A 9A9">
Burada da kullanılan maske girilen alfabetik ve numerik değerlerin, koddaki şekilde olup olmadığının doğrulamasını yapar.
"Veri girişi maskeleme" yöntemi veri girişi doğrulama ihtiyacını tam olarak karşılamaz, fakat kullanıcı ile etkileşimi kuvvetlendirmek için etkin bir şekilde kullanılabilir.
Yazar Hakkında:
Ben Forta kıdemli bir ürün misyoneri ve sayısız kitabın yazarıdır. Yazdığı kitaplar arasında; ColdFusion ile Web Uygulamaları Geliştirme (ColdFusion Web Application Construction Kit) ve bu kitabın devamı olan İleri Seviye ColdFusion Uygulamaları Geliştirme ( Advanced ColdFusion Application Development) sayılabilir. Bunların yanısıra SQL, JSP (Java Server Pages), WAP vs. konular üzerinde de kitaplar yazmıştır. Ben Forta Macromedia’nın resmi Coldfusion eğitim materyallerini, sertifika testlerini Macromedia Press’in bu testler için hazırladığı çalışma kılavuzlarının yazarlığını da yapmıştır. Şimdi zamanının büyük bir çoğunluğunu konferanslar vererek, konuşmalar yaparak ve dünyanın dört bir yanında geliştirilen uygulamalar üzerine yazarak geçirmektedir. Ben Fortanın blog sitesini ziyaret edebilir, ColdFusion üzerine yazdıklarını ve daha fazlasını takip edebilirsiniz. Çeviri / Translate Bu makale, Ben Forta’ nın Macromedia.com da yayımlanmış , "Introducing ColdFusion MX 7" yazısının türkçeleştirilmesinden ibarettir.
İçeriğe kayıtlı yorum bulunmuyor. İlk yorumu siz buradan ekleyebilirsiniz.
Makale
Haber
Ders
Etkinlikler
Eğitim
Bilişim Hukuku Sertifika Programı
Bilişim Hukuku Sertifika Programı
BILISIM HUKUKU SERTIFIKA PROGRAMI
22 – 23 Kasım 2008 – 09.30 – 17.00 – Lares Park Otel – Taksim – 650 YTL+kdv
Eg...
Kategori:
Eğitim
Kimler Burada? 
Son 1 dakika içinde MMIstanbul' da 391 (1 kayıtlı, 390 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:
MMIstanbul Blog'undan
Neler Yapılabilir?
Yeni bir portal, 30 civarında online / offline etkinlik, seminer vb rağmen MMIstanbul sanıyoruz ki halen hakettiği ilgiyi göremedi. " ...
500 Hatası Hakkında!
Reklam, MMIstanbul ve Yeni Projeler (Durumumuz Bu Tarzında)
Ne Nedir Kampanyası Başlıyor!
Çok Merak Edenler için; MMIstanbul Geliştirme Ekibi ve Çalışma Ortamımız








