4. Model Nitelikleri

1.Required Attribute

Adından da anlaşılacağı üzere modeldeki bir alanın girilmesini zorunlu kılar.

Kisi.cs modelimiz

  public class Kisi
  {
   public int Id { get; set; }

   public string Ad { get; set; }
   public string Soyad { get; set; }

   [Required(ErrorMessage="TC Kimlik no alani bos birakilamaz.")]
   public string TCKimlikNo { get; set; }
  }

Controller kısmında ise bir kisi nesnesi alındığı zaman bunu check edebilmek açısından aşağıdaki şekilde kodlama yaparız.

 public ActionResult Yeni(Kisi k)
 {
   if (ModelState.IsValid)
   {
     return View("Yeni", k); //yeni viewına kyı gönder
   }
   else
   {
      return View(); //geçersizse tekrar viewda kal
   }

 }

 

2.DisplayName Attribute

Ekranda property alanları için gösterilen nameler model classından alınan namelerdir. Biz namelerin ekranda görünüşünü displayName attribute’u ile değiştirebiliriz.

  public class Kisi
  {
    public int Id { get; set; }

    [DisplayName("İsim")]
    public string Ad { get; set; }
    [DisplayName("Soyisim")]
    public string Soyad { get; set; }

    [Required(ErrorMessage="TC Kimlik no alani bos birakilamaz.")]
    [DisplayName("Tc Kimlik No")]
    public string TCKimlikNo { get; set; }

 }
3. Editable Attribute

Alanın değiştirebilir veya değiştirilemez olduğunu belirler.

 public class Kisi
  {
   public int Id { get; set; }

   [DisplayName("İsim")]
   public string Ad { get; set; }
   [DisplayName("Soyisim")]
   public string Soyad { get; set; }

   [Required(ErrorMessage="TC Kimlik no alani bos birakilamaz.")]
   [DisplayName("Tc Kimlik No")]
   [Editable(false)]
   public string TCKimlikNo { get; set; }

}
4. Date Representation Attribute

 Formda gözükecek tarih kısmının görünüm formatını düzenler.

public class Kisi  {    

  public int Id { get; set; }   

  [DisplayName("İsim")]  
  public string Ad { get; set; } 
  [DisplayName("Soyisim")] 
  public string Soyad { get; set; } 
 
  [Required(ErrorMessage="TC Kimlik no alani bos birakilamaz.")] 
  [DisplayName("Tc Kimlik No")] 
  [Editable(false)] 
  public string TCKimlikNo { get; set; }

  [DisplayFormat(DataFormatString="{0:dd.MM.yyyy}")]
  public DateTime DogumTarih{get; set;}

}
5.DataType Attribute

Şifre form inputunun gizliliği açısından ******** şeklinde görünmesini sağlar.

 public class Kisi  {    

   public int Id { get; set; }   

   public string Ad { get; set; } 
   public string Soyad { get; set; } 
   public string TCKimlikNo { get; set; }
   public DateTime DogumTarih{get; set;}

   [DataType(DataType.Password)]
   public string Parola{ get; set; }

 }

6. Mail Attribute

Mail inputbox’ına mail formatından farklı bir girdi girilirse uyarı vermeye yarar.

 public class Kisi  {    

   public int Id { get; set; }   

   public string Ad { get; set; } 
   public string Soyad { get; set; } 
   public string TCKimlikNo { get; set; }
   public DateTime DogumTarih{get; set;}

  public string Parola{ get; set; }

  [EmaiAdress()]
  public string Email{get; set;}

}

 

7. Maxlenght ve MinLength Attrbiute

Girilen inputun minimum ve maksimum değerini belirleyerek aşıldığı takdirde uyarı verir.

public class Kisi  {    

   public int Id { get; set; }   

   public string Ad { get; set; } 
   public string Soyad { get; set; } 
   [MaxLength(11,ErrorMessage="TC kimlik numarası 11 karakterden çok olamaz")]
   [MinLength(11,ErrorMessage="TC kimlik numarası 11 karakterden az olamaz")]
   public string TCKimlikNo { get; set; }
   public DateTime DogumTarih{get; set;}
   public string Parola{ get; set; }

}

 

8. Compare Attribute

Bir inputtan iki defa girilmesi ve birbirini doğrulaması gereken durumlarda kullanılan attribute.

public class Kisi  {    

   public int Id { get; set; }   

   public string Ad { get; set; } 
   public string Soyad { get; set; } 
   public string TCKimlikNo { get; set; }
   public DateTime DogumTarih{get; set;}
     
   public string Parola{ get; set; }
   [Compare("Parola")]
   public string Parola2{ get; set; }
 }