Form Helper ve Fluent Validation Kullanarak ASP.NET Core Validation İşlemleri

.NET Framework üzerinde çalışan Fluent Validation makalesinden sonra bu kez de daha kapsamlı ASP.NET Core üzerinde Fluent Validation kullanımını inceliyor olacağız. Aynı zamanda hazırlayacağımız html formumuzdan alacağımız verileri sunucuya göndermek ve FluentValidation’a client-side desteği kazandırabilmek için Form Helper kütüphanesinden faydalanacağız.

Okumaya devam…

The “TransformWebConfig” task failed unexpectedly Hatası

ASP.NET Core projelerinde Publish çıkmaya çalıştığımızda The “TransformWebConfig” task failed unexpectedly hatası alabilmekteyiz. Sorunun çözümü için ilgili projeye sağ tıklayıp “Edit ProjeAdi.csproj” dedikten sonra içerisinde aşağıdaki satırı bulun ve silin.

<AspNetCoreHostingModel>InProcess</AspNetCoreHostingModel>

Silme işlemi sonrasında tekrar publish işlemini denediğinizde sorunun düzeldiğini göreceksiniz.

ASP.NET Core Partial View ve View Component İçerisinde Section Tanımlayabilmek

Partial View ve View Componentlerde mevcut yapıda Section kullanamamaktayız. Bu da Partial View veya View Componentlerimizde yazdığımız bazı Javascript / Jquery kodlarımızın Layout sayfasında alt kısımda çalıştırmak istediğimizde bize engel oluyor. Aşağıdaki bir taghelper yazarak bu soruna çözüm üretebilirsiniz.

Okumaya devam…

Asp.Net Core ViewComponent Kullanımı

Asp.Net Core ile birlikte gelen View Componentleri WebForms ile kullanılan UserControl veya MVC ile kullandığımız Partial View yapılarına benzetebiliriz. Web uygulamalarımızda birden fazla alanda kullanmak istediğimiz viewlerimiz için ViewComponent’i tercih edebiliriz.

MVC’nin önceki sürümlerinde birden fazla alanda kullanmak istediğimiz bileşenleri genellikle Partial View olarak tasarlar ve [ChildActionOnly] attribute ile birlikte tek başlarına çağrılmalarını engellerdik. Bu yapı bizim için büyük kolaylık sağlardı. Asp.Net Core ile birlikte [ChildActionOnly] attribute kullanımı kaldırılmış ve yeni ViewComponent yapısı geliştirilmiştir. ViewComponentler dışarıdan Http istek ile doğrudan ulaşılamazlar.

Okumaya devam…

Visual Studio Üzerinde Asp.Net Core Geliştirme Ortamını Hazırlamak

Microsoft tarafından 2014 yılında açık kaynak olarak duyurulan .Net Core platformu 2016 Haziran ayında RTM olarak kullanıma sunuldu. .Net Framework’e göre daha hızlı, modüler ve esnek bir yapı sunan .Net Core ile platform bağımsız uygulamalar da geliştirebileceğiz.

Yeni bir çekirdek ile sıfırdan geliştirilen Asp.Net Core, yazılım geliştirme aşamasında klasik Asp.Net ile oldukça benzer bir yapıdadır. Microsoft, Asp.Net Core ile MVC mimarisini devam ettirmiş, WebForms desteğini ise henüz sunmamıştır.

.Net Core Visual Studio 2015 içerisinde varsayılan olarak gelmediğinden harici olarak kurulması gerekmektedir. Kurulum dosyalarını indirmek için https://www.microsoft.com/net/download/core adresine giriyoruz.

Okumaya devam…

C# Regex Kullanımı (Regular Expressions – Düzenli İfadeler)

regex

 

Regex bir string ifadenin (metin) belirli kurallara uyumluluğunu kontrol etmeye ve düzenlemeye yarar.
Açılımı Regular Expressions, Türkçesi ise Düzenli İfadeler olarak geçer.
Regex ile bir alana sadece harf mi girilmiş, rakam mı girilmiş ya da eposta adresi mi girilmiş kontrol edebilirsiniz.

Okumaya devam…

C# ile Nesne Yönelimli Programlama

BilgeAdam için hazırladığım C# ile Nesne Yönelimli Programlama sunumudur.

Sunum içerisinde

  • Nesne yönelimli programlama ne işe yarar.
  • Metotlar
  • Sınıflar (Class)
  • Instance (Türetmek)
  • Erişim Belirleyiciler (Access Modifiers)
  • Yapıcı Methodlar (Constructor)
  • Kapsülleme (Encapsulation)
  • Miras/Katılım (Inheritance)
  • Çok Biçimlilik (Polymorphism)
  • Struct
  • Enum
  • Statik Yapılar
  • Soyut Nesneler (Abstract)
  • Interface

yapılarından kısaca bahsedilmiştir.

Okumaya devam…

C# Tuple Nedir ? Nasıl Kullanılır ?

.NET Framework 4.0 ile gelen Tuple ile bir method üzerinden birden fazla değer döndürmemiz sağlanıyor. Aslında bu işlem Tuple öncesinde de out parametresini kullanarak veya içerisinde birden fazla değer barındıran bir model kullanılarak da yapılabiliyordu.

Peki Tuple kullanmanın avantajı ne ?

Bana göre en büyük avantajı basit bir şekilde (ayrı bir model veya taşıyıcı kullanmadan) birden fazla değer döndürmek istediğinizde size hız kazandırması.

Kullanımıyla ilgili kısa bir örnek göstereceğim.

Okumaya devam…

Fluent Validation (.NET Validation İşlemleri)

Bu makale .NET Framework için yazılmıştır. Bu yazının ASP.NET Core için olan güncellenmiş sürümüne buraya tıklayarak ulaşabilirsiniz.

 

İster web, ister mobil bir uygulama yazalım, geliştirdiğimiz uygulama yüzlerce hatta binlerce kişi tarafından kullanılabilir. Özellikle bu kullanıcı kitlesi içerisinde kötü niyetli kişilerin de olabileceğini düşünürsek kullanıcılardan aldığımız verilerin doğruluğu bizim açımızdan büyük önem arz etmektedir. jQuery Validation veya alternatif javascript kütüphaneleri ile bu sorunun önüne geçsek dahi bu doğrulamalar Javascript tabanlı yapıldığından tam güvenlik sağlayamazlar. Uygulamamıza dışarıdan  (get-post vb.) talep gelebileceğinden veya Javascript kapatılabileceğinden client-side olarak yapılan hiç bir doğrulama yöntemine güvenemeyiz.

Okumaya devam…