MVC Model Validation İşlemleri

Mvc Model Validation işlemleri Dataannotations sınıfı

0 6,243

Mvc Model Validation

Bu makalede .Net Mvc Model Validation işlemini inceleyeceğiz. Model – View – Controller mimarisinde hali hazırda yer alan Model Validation , View ile Controller arasında mekik dokuyan modellerimizi belirli kurallarla işletmemize olanak sağlar. Validation işlemlerini Client-Side ve Server-Side olarak ikiye ayırabiliriz.Şimdi tam bu sırada System.ComponentModel.DataAnnotations sınıfına göz atalım.

DataAnnotations

veri denetimlerine yönelik tanımların bulunduğu, sınıfın hazır sunduğu kontrollerin yeterli olmadığı veya ihtiyacın farklılaştığı durumlarda sınıf üzerinde özelleştirme yapabildiğimiz değerli yapılardan biridir. DataAnnotations metodları ile ilgili detaylı incelemeye msdn üzerinden  (buradan) ulaşabilirsiniz.  Model validation işlemine dönecek olursak, validation işlemi DataAnnotations ile Server-Side olarak yapılır. Bazı durumlarda ise Client-Side validation kullanırız.  Client-Side validation modeli için gerekli ama yetersiz demek yanlış olmaz. Örneğin Login işleminde Kullanıcı Adı ve Şifre olmadan giriş yapamayız. Şimdi gerekli ama yetersiz kelimesine açıklık getireyim.

Gerekli : çünkü Client-Side null kontrolü yapıp Server üzerinden çağrı yapmaktan kaçınıyoruz. Kullanıcının yaptığı hatayı direkt olarak arayüzde karşılıyoruz ve düzeltmeye zorluyoruz.

Yetersiz : Yetersiz olduğu durum ise biraz jquery, javascript bilgisiyle client-side kontroller aşılabilir ve server taraflı kontrol olmazsa programımız hataya düşebilir.

Şimdi örneğimize geçelim. Birkaç validation’ı bir arada kullanacağımız bir form oluşturacağız.

Model

Modelimizi belirlediğimiz kurallarla yukarıdaki gibi oluşturuyoruz. required attribute’ u ile zorunluluğu MinLength ile kelime uzunluğunu belirliyoruz.

View 

yukarıdaki kod blogunda basit bir form sayfası oluşturduk. Şimdi kodlara daha yakından bakalım.

 

Controller 

örnekle birlikte Server-Side Model validation işlemi ile form kontrolünü tamamlamış olduk.

Mvc Validation

Referans
MSDN Validation

H.Burak Karadağ

 

Email adresiniz yayınlanmayacaktır.