1. Ana Sayfa
  2. ASP.Net
  3. MVC Default Model Binder Validation Nedir? Bölüm-36

MVC Default Model Binder Validation Nedir? Bölüm-36

031019_1804_MVCDefaultM11.png

Bu yazımda sizlerle kavramının ne olduğunu ve nasıl kullanıldığını inceleyeceğiz.

Default Nedir?

uygulamasında veri tabanı tablolarını Code First yöntemi ile oluşturmaya başladığımızda yapılan validasyon işlemlerinde yapısının oluşturmuş olduğu validasyonlara Default Validation denir.

Resim-1

Visual Studio geliştirme ortamını açalım, File>New>Project yolunu izleyerek MVC projemizi oluşturmaya başlayalım.

Resim-2

Templates>Visual C#>Web şablonlarından ASP.NET Web Application seçeneğini seçelim, projemize Name kısmından isim verelim. OK tuşuna tıklayarak devam edelim.

Resim-3

Empty şablonunu seçtikten sonra MVC seçeneğini de seçelim ve OK tuşuna tıklayıp projemizi oluşturalım.

Resim-4

Controllers seçeneğine sağ tıklayalım Add>Controller seçeneği ile Controller oluşturalım.

Resim-5

MVC 5 Controller – Empty seçeneğini seçelim ve Add butonunu tıklayarak devam edelim.

Resim-6

Controller dosyamıza bir isim verelim ve Add seçeneği ile ekleme işlemini gerçekleştirelim.

Resim-7

Views klasörüne sağ tıklayalım Add>View seçeneğini seçelim.

Resim-8

View adımızı _Layout olarak verelim ve sayfalarımız için bir adet Master Page oluşturalım.

Resim-9

ActionResult metodumuza sağ tıklayalım Add View seçeneği ile projemize View ekleyelim.

Resim-10

Index adı metot adı ile aynı olarak gelmektedir. Add seçeneğine tıklayalım ve Layout dosyamızın yolunu belirterek View ekleme işlemini gerçekleştirelim.

Resim-11

Models klasörüne sağ tıklayalım Add>Class seçeneğini seçelim.

Resim-12

Class dosyamıza isim verip Add seçeneği ile ekleme işlemini gerçekleştirelim.

Resim-13

Class dosyamızda iki adet değişken ataması yapalım.

Resim-14

Tools seçeneğini seçelim NuGet Package Manager >Manage NuGet Packages For Solution seçeneğini seçelim.

Resim-15

Browse seçeneğine Validation yazalım ve Unobtrusive Validation seçeneğini seçerek Install edelim.

Resim-16

Yüklenecek olan Javascript paketlerini görmekteyiz OK seçeneğine tıklayalım ve yükleme işlemini gerçekleştirelim.

Resim-17

Lisans anlaşmasını kabul ederek devam edelim.

Resim-18

Yüklenen dosyalar Scripts klasörünün altında yer alacaktır.

Resim-19

Layout dosyamıza NuGet ile yüklediğimiz Jquery dosyalarımızı referans olarak ekleyelim.

Resim-20

Web Config dosyamıza Connection String nesnemizi ekleyelim.

Resim-21

Models klasörüne sağ tıklayalım Add>Class seçeneğini seçelim.

Resim-22

Context yani veri tabanı bağlantımızı sağlayacak olan Class eklememizi yapalım.

Resim-23

Tools seçeneğini seçelim NuGet Package Manager >Manage NuGet Packages For Solution seçeneğini seçelim.

Resim-24

Entity Framework seçeneğini seçelim ve sağ tarafta projemizi seçerek Install seçeneğini seçelim. Veri tabanı işlemleri için bu paketi yüklememiz gerekmektedir.

Resim-25

Context dosyamıza gelerek veri tabanı bağlantımızı yapacağımız sınıfımızın tanımlarını gerçekleştirelim.

Resim-26

Models klasörüne sağ tıklayalım Add>Class seçeneğini seçelim.

Resim-27

Veri tabanı tablomuzu ve validasyon işlemlerimizi yapacağımız Class eklememizi gerçekleştirelim.

Resim-28

Required nesnelerimiz ile zorunlu alanlarımızı ve yanlarında mesajlarımızı da yazalım.

Resim-29

Controller dosyamıza View içerisinden göndereceğimiz nesnelerin boş olup olmadığını kontrol ederek geriye uyarı mesajımızı ve boş bir model nesnesi gönderelim. Kullandığımız ModelState nesnesi geçerliliği kontrol edip geriye mesaj göndermemize yarar.

Resim-30

Index View dosyamızın içerisinde nesnelerimizi oluşturalım nesne isimlendirmelerimiz veri tabanı Class dosyası içerisinde olanlar ile aynı olacaktır. Programımızı çalıştıralım.

Resim-31

Projemizde hiç veri girmeden formu gönderme işlemini gerçekleştirelim.

Resim-32

Form kontrolleri çalışarak uyarı mesajlarımız ekrana gelmiştir ancak validasyon mesajlarımızı sadece iki alanımıza bırakmamıza rağmen validasyon yapmadığımız alanda da zorunlu olduğu mesajı ekrana gelmiştir. Bu işlemi sağlayan Default Model Binder nesnesidir. Sebebi ise Integer veya Decimal değer tipli nesnelerin Null değer alamamasıdır. Bu işlemin olmasını engellemek için ;

Resim-33

Model klasörümüzde boş bırakarak geçmek istediğimiz alanı düzenleyelim. Projemizi çalıştıralım.

Resim-34

Boş bıraktığımız alanda bulunan validasyon işleminin kalktığını görmekteyiz.

Model Binder işlemlerini görmüş olduk bir sonra ki yazımda Fluent Validation işlemlerini göreceğiz.

Bir sonra ki yazıda görüşmek dileğiyle.

Bu konuyla ilgili sorularınızı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

TAGs: mvc, ,,,mvc html,html helpers, validation,validation data,,mvc annotations,context,mvc context,mvc validation,,validation nedir,model state,,model binder,default model binder,null,mvc null,model binder validation

Yorum Yap

Yazar Hakkında

Servan Oral, 1991 yılında Diyarbakır’da doğdu. Üniversite öncesi öğrenimini Malatya’da tamamladı. Dicle Üniversitesi ve Atatürk Üniversitesi Bilgisayar Programcılığı mezunudur. .Net Developer olarak birçok firmada görev almıştır. MSHOWTO bünyesinde yazar olarak görev yapmaktadır. Uzmanlık alanları olan; Bilişim Güvenliği, Microsoft Azure, Microsoft Visual Studio, C# .Net, Asp.Net, Cloud Computing, Microsoft Azure SQL, Microsoft SQL Server, MVC .Net alanlarında yazarlık yapmakta ve etkinliklerde uzmanlık alanlarında konuşmacı olarak görev almaktadır. MCP sertifikası bulunmaktadır.

Yorum Yap