Data Annotation Nedir?

Data AnnotationNedir ?


Herkese merhabalar arkadaşlar bu makalemde sizlere Data Annotation nedir ondan bahsedeceğim.

Data Annotation aslında bizim daha önceden oluşturduğumu class'lara vermiş olduğumuz attribute'lardır. Ne demek şimdi bu?

Yani bu tamamen kullanıcının yapması olası hatalara karşı alınan önlemler topluluğu diye tasvir etsem daha doğru olur Data Annotation tanımını.Aslında olaya birde şöyle bakabiliriz bu attribute'ler daha önce yazılmış biz sadece using ile sayfamıza dahil edeceğiz bu attributeleri.
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;



Örnek bir uygulama üzerindende size bu konuyu aktarayım....

Örneğin Kullanıcı adlı bir Model  class oluşturalım.












Bu classın içerisinede ;
public string Adi { get; set; }
public string Soyadi { get; set; }
public string Eposta { get; set; }
public string EpostaTekrar { get; set; }
public string KullaniciAdi { get; set; }
public string Sifre { get; set; }
public string SifreTekrar { get; set; }

yukarıdaki kodları ekliyoruz sonraki aşama ise View oluşturup bunlarla ilgili Text alanları oluşturup
bu classları Data Annotation nasıl uygulanıyor bu propertylere onu göstereceğim...

Şimdide Controller klasörüne sağ tıklayıp Add Controller diyoruz ve adına HomeController diyip Ok diyoruz sonrasında açılan HomeController classının içerisindeki Index methoduna sağ tıklayıp aşağıdaki gibi ayarlamalar yapıp Add diyoruz.


Şimdi projede kullanacağım propertyleri açıklayayım:

Required :Girilmesi zorunlu olan alanı ifade eder.
DataType :Girilecek veri türünü ifade eder.(Password,Email,Text,Number....)
Max Length: Kullanıcının girebileceği maximum karakter sayısı
Min Length:Kullanıcının girebileceği minimum karakter sayısı
EmailAdress: Mail adresi türünde veri girişi olacağını belirtir.
Compare : İki veriyi karşılaştırmamızı sağlar(Şifre tekrarı ,mail adresi tekrarı vs...)




Peki bu attribute'leri nasıl classlarımız ile ilişkilendiriyoruz derseniz işte cevabı :


Buradaki olayı kısaca özetlemek gerekirse;
Örneğin ;

[DisplayName("Kullanıcı Adı")
        , Required(ErrorMessage = "Lütfen kullanıcı adı giriniz...")
        , MinLength(5, ErrorMessage = "Kullanıcı Adı min.{1} karakter olmalıdır")
       , MaxLength(25, ErrorMessage = "Kullanıcı Adı max.{1} karakter olmalıdır")]

Burada dediğimiz olay şu aslında Kullanıcı Adı olarak ekranda görüntülenmesini sağla,girilmesi zorunlu alan olsun ve yanlış girildiği takdirde "Lütfen Kullanıcı adını giriniz" şeklinde mesaj versin sonra kullanıcının girebileceği KullaniciAdi minimum 5 karakter olsun ve şayet kullanıcının bunun altında bir değer girdiyse "Kullanıcı Adı min.{1} karakter olmalıdır" şeklinde mesaj versin(Buradaki {1} dediğimiz 5 değerini kasteden ifadedir {0} deseydik Kullanıcı Adı adlı değişkeni yazardı o bulunduğu yere),aynı şey maximum içinde geçerli verilmiş olan maximum sınırı kullanıcının aşması engelleniyor.

Örnek Çıktımız :






Bu yazımında sonuna geldik arkadaşlar umarım faydalı olmuştur.



Yorumlar

Bu blogdaki popüler yayınlar

2 bitlik 2 sayıyı çarpma

Asp.Net Mvc 5 Çoklu Dil Desteği