15 Şubat 2014 Cumartesi

MVC Model CheckBoxFor RequiredField ValidationAttribute


MVC'yle ilk tanıştığımda enn çok hoşuma giden yanı sanırım modelleri tanımlarken kullandığımız özelliklerdir. :) zorunlu alan mı, sayı alanı mı, e-mail alanı mı orada toptan tanımlayıp, hata mesajlarını belirleyip alanlarını şip şak kullanabiliyorsun. Hoş yani.. :)

Bir gün yine bu hoşlukları yaşarken true false değerini required yapmam gerekti. Yine her zaman yaptığım gibi Required field yazdım bool alanın üzerinee.. CheckBoxFor olarak kullanmaya kalktım. :) Sonrasında çalışmadı ve tabii hemen ulu googleun başına geçtim =) Bir de ne göreyim bunun için kendi validation Attributeumuzu yazmamız gerekiyormuş :) Bunu nereden mi uydurdum? İşte de buradan;

http://stackoverflow.com/questions/4730183/mvc-model-require-true

Bu da ValidationAttribute'dan türeyen metodum;

public class IsValidAttribute : ValidationAttribute
{
        #region Overrides of ValidationAttribute

    public override bool IsValid(object value)
    {
        if (value == nullreturn false;
        if (value.GetType() != typeof(bool)) throw new InvalidOperationException("Can only be used on boolean properties.");

        return (bool)value == true;
    }

        #endregion

}

Bu da kullanımım.. Aynı diğerleri gibi..;

        [IsValid(ErrorMessage = "Hizmet Kullanım Şartları'nı kabul etmelisiniz.")]
public bool TermsAndConditions { getset; }

------------

Aşkolsun size cinlerim. Canım sıkıldı diye geldim iki hoş laf edip eğlemediniz gönlümü.. :)

Motivasyonumu nasıl geri kazanacağım, o azme nasıl geri döneceğim bilmiyorum. Umarım ileride şu adam gibi olmam;

(Burada bir karikatür vardı ama telif yerim diye kaldırdım. Herkese dava açıyorlarmış karikatür paylaşılıyor diye. Karikatürün doğasına hiç uymuyor bence bu tavır :-/ İsmet abi senin bi İstanbul'u yenme projen vardı ne oldu o? Kalkarsam kalbini kırarım.)
Ah başarısız projelerim ah :) 
Hayydi bakalım.. Cennet projem miii CİNnet projem mi yenecek. :P

Hayırlı projeler herkese :)