1 Mayıs 2021 Cumartesi

.NET Core - Fluent Validation kullanımı

Leave a Comment

 Bu yazıda .NET Core uygulamalarımızda Fluent Validaton'ı nasıl kullanacağımızı anlatmaya çalışacağım. 


Fluent Validation; Neredeyse tüm .NET versiyonlarında desteklenen, validation kütüphanesi.


Öncelikle NuGet Package Manager kullanarak ya da aşağıdaki kodu Package Manager Console'da çalıştırarak projemize FluentValidation paketini ekliyoruz.


Install-Package FluentValidation

Şimdi de Person adında bir class oluşturarak içerisine Name, Email ve PhoneNumber alanlarını ekliyorum. Bu class'ı FluentValidation ile kontrol ederek doğruluğunu teyit edeceğiz.




PersonValidator class'ını oluşturarak FluentValidaton paketiyle birlikte gelen AbstractValidator class'ından türetiyorum.



Şimdi de kurallarımı belirleyeceğim. Class üzerinde 3 alan var Name, Email ve PhoneNumber.


İsim boş olmamalı ve 3 karakterden az olmamalı kuralımız var.


Email için email formatında olmalı ve boş olmamalı.


Telefon numarası da 5 ile başlayan 10 haneli cep telefonu olmalı.




Şimdi de kodumu çalıştırıyorum.



Görüldüğü gibi validaton istediğim gibi çalıştı.

Read More

30 Nisan 2021 Cuma

Asp.NET SignalR kullanarak Progress Bar yapımı

Leave a Comment

Asp.NET Web Form kullanılarak geliştirilmiş bir projemiz olduğunu varsayalım. Bu projenin bir sayfasında form aracılığı ile bir Excel dosyası alınıyor ve dosyadaki kayıtlar veritabanına aktarılıyor. Aktarım işleminin ne kadarının gerçekleştiğini dinamik bir şekilde göstermek istiyoruz. Bu durumda ne yapabiliriz?


UpdateProgress, UpdatePanel gibi tool'ları kullanmadan SignalR yardımıyla çok kolay bir şekilde isteğimizi gerçekleştirebiliriz.


Öncelikle sıfır bir Web projesi oluşturdum. Ardından da aşağıdaki Nuget Package'ları ekledim.



Ardından projeme aşağıdaki gibi client ile haberleşecek olan SignalR Hub sınıfımı ekliyorum.






Daha sonra da Owin StartUp dosyasını projeye dahil ediyorum.






Şimdi de Default.aspx.cs dosyasında 5 method oluşturuyorum ve Page_Load methodunun içinde arka arkaya bu 5 methodu çağırıyorum. Her metodun içerisinde Hub'a mesaj göndereceğiz ve gönderilen mesaj dinamik olarak sayfamızda gösterilecek.



Son olarak aspx dosyamda gerekli düzenlemeleri yapıyorum.


Sayfamı çalıştırdığımda aşağıdaki gibi sayfanın dinamik güncellendiğini görüyorum.




Read More