ASPNET Core MVC ile Veri Doğrulama Validation İşlemleri hakkında her şey burada! Bu makalede, ASPNET Core MVC ile veri doğrulama yöntemleriyle ilgili tüm detayları öğrenebilir, form elemanlarının doğrulama süreçlerini nasıl yönetebileceğinizi keşfedebilirsiniz Daha iyi bir web uygulaması geliştirme deneyimi için hemen okumaya başlayın!

ASP.NET Core MVC uygulamaları, birçok farklı veri alışverişi işlemi gerçekleştirir. Bu verilerin doğruluğunu sağlamak ise oldukça önemlidir. ASP.NET Core MVC'deki veri doğrulama işlemleri, verilerin doğruluğunun kontrol edilmesi ve geçersiz verilerin kabul edilmemesi için kullanılır. Bu sayede, uygulamaların doğru ve işlevsel çalışması sağlanır. ASP.NET Core MVC ile veri doğrulama işlemleri yapıldığında, verilerin doğru bir şekilde kullanılması mümkün olur.
Bu doğrulama işlemleri için, çeşitli yöntemler kullanılabilir. Özellikle, dahili data annotations kullanımı ile basit bir şekilde veri doğrulama işlemleri yapılabilmektedir. Bunun yanı sıra, özelleştirilmiş veri doğrulama yöntemleri de kullanılabilir. Veritabanı doğrulama yöntemleri de verilerin doğruluğu için kullanılan yöntemler arasındadır. ASP.NET Core MVC, doğrulama işlemlerinde oldukça güçlü bir yapı sunar ve gerekli tüm araçları sağlar.
Veri Doğrulama Nedir?
Ürünlerin adedi, kullanıcıların bilgileri ve diğer türden veriler ASP.NET Core MVC uygulamalarında saklanmaktadır. Bu verilerin doğruluğu, uygulamanın en önemli özelliklerinden biridir. Uygulamada yer alan verilerin doğru olmaması, yanlış işlemler yapılmasına sebep olabilir. Veri doğrulama, uygulamanın girdiği verilerin doğru ve geçerli olmasını sağlamak için kullanılan bir yöntemdir. Örneğin, bir kullanıcının parolası, e-posta adresi, telefon numarası veya ad soyadı girilirken olası hataların giderilmesi, bu doğrulamanın sağlanmasıyla mümkündür.
ASP.NET Core MVC uygulamalarında verilerin doğruluğunun sağlanması için farklı yöntemler kullanılabilir. Bu yöntemler dahili data annotations, özelleştirilmiş veri doğrulama yöntemleri ve veritabanı doğrulama yöntemleridir. Kullanıcıların çeşitli verileri girdiği formlara yer verilen uygulamalarda, kullanıcıların yanlış veri girmesi kaçınılmazdır. Veri doğrulama yöntemleri, bu yanlış verilerin elenmesine ya da düzeltilmesine olanak tanır.
ASP.NET Core MVC Veri Doğrulama Yöntemleri
ASP.NET Core MVC uygulamalarında verilerin doğruluğunu ve geçerliliğini sağlamak oldukça önemlidir. Bunun için ASP.NET Core MVC, çeşitli yöntemler sunar. Veri doğrulama yöntemleri, hem sunucu tarafında hem de istemci tarafında yapılabilir. Bazı yaygın kullanılan veri doğrulama yöntemleri, aşağıdaki gibidir:
Veri doğrulama işlemlerinde, dahili data annotations kullanmak oldukça yaygın bir yöntemdir. Data annotations, belirli nitelikleri tanımlamak için kullanılır. Aşağıdaki örnekler gibi bazı data annotations özellikleri vardır:
- StringLength: Kullanıcının girdiği metnin boyutunu sınırlar.
- Required: Kullanıcının belirli bir alanı doldurmasını zorunlu kılar.
- Range: Kullanıcının belirli bir aralıkta değerler girmesine izin verir.
ASP.NET Core MVC uygulamalarında veri doğrulama işlemleri daha hassas ve tam olarak yapılabilmektedir. Bunun için özelleştirilmiş veri doğrulama yöntemleri oluşturulabilir. Aşağıdaki yöntemlerden bazıları uygulanabilir:
- Custom Validation Attribute Oluşturma: Kendi özelleştirilmiş validation attribute'lerinizi oluşturarak, veri doğrulama işlemlerini daha da hassas hale getirebilirsiniz.
- Client-Side Validation: İstemci tarafında (yani web tarayıcısı), verilerin doğruluğunu kontrol edebilirsiniz. Bu, veri doğrulama işlemine daha fazla esneklik sağlar ve kullanıcı deneyimini iyileştirir.
Veritabanı doğrulama, verilerin doğruluğunu sağlamak için çok önemlidir. ASP.NET Core MVC uygulamalarında, veritabanı doğrulama işlemleri yapmak mümkündür. Bunun için aşağıdaki yöntemler kullanılabilir:
- Data Annotations Validation: Entity Framework Core içindeki data annotations validasyon özelliklerini kullanabilirsiniz.
- Fluent API Validation: Entity Framework Core içindeki Fluent API'yi kullanarak özelleştirilmiş bir validasyon oluşturabilirsiniz.
Dahili Data Annotations Kullanımı
Veri doğrulama işlemleri, ASP.NET Core MVC uygulamalarında oldukça önemli bir yer tutmaktadır. Bu işlemlerde, dahili data annotations kullanarak verilerin doğruluğunu sağlamak oldukça kolay ve etkilidir. Veri doğrulama işlemlerinde, StringLength kullanarak girilen verilerin uzunluklarını kontrol edebiliriz. Örneğin, bir textbox ile girilen kullanıcı adının uzunluğunu belirli bir sınırda tutmak istiyorsak aşağıdaki gibi bir kod kullanabiliriz:
```csharp[Required][StringLength(100)]public string KullaniciAdi { get; set; }```
Required data annotation, boş girilen değerlerin kontrolünü sağlamak için kullanılabilir. Range data annotation ise, girilen değerlerin belirli bir aralıkta olmasını sağlar. Örneğin, bir yaş sınırı koyarak kullanıcıların belirli bir yaş aralığında kayıt olmasını sağlayabiliriz.
```csharp[Range(18, 99)]public int Yas { get; set; }```
Dahili data annotations kullanarak, veri doğrulama işlemlerinde kolayca kontrol yapabiliriz. Ancak, bu data annotations'ların yeterli olmadığı durumlarda özelleştirilmiş veri doğrulama yöntemleri de oluşturabiliriz.
StringLength
StringLength, kullanıcının sistemdeki bir alana girebileceği maksimum karakter sayısına izin verir. Bu, bir sayı değeri içerir ve bir metin alanına izin verilen en uzun karakter sayısını belirtir. Bu özellik, girdi verisini doğrular. StringLength kullanarak, model sınıfında özelliklere veri doğrulama özelliği eklemek mümkündür.
Örneğin, aşağıdaki kod bloğunda, Name alanında cümlenin maksimum karakter sayısı 50 olarak belirlenir:
Model Özelliği | StringLength Kullanımı |
---|---|
public string Name { get; set; } | [StringLength(50)] |
Bu, Name özelliği için metnin maksimum uzunluğunu 50 karakterle sınırlar. Bu, bir ad alanı gerektiren bir kaydolma sayfasında kullanıcı adının maksimum uzunluğunu sınırlandırmak için kullanılabilir.
StringLength ayrıca bir minimum uzunluk belirtmek için de kullanılabilir. Örneğin, bir kullanıcının şifresinin en az 8 karakter olması gerektiğini doğrulamak için kullanılabilir.
- public string Password { get; set; }
- [StringLength(50, MinimumLength = 8)]
Bu örnekte, Password özelliği maksimum 50 karakter ve minimum 8 karakterdir.
Overall, StringLength kullanımı, veri doğrulama işlemlerinin doğru ve hatasız bir şekilde gerçekleştirilmesi için oldukça önemlidir.
Required
Required, bir veri doğrulama yöntemidir. Bu yöntem, belirli bir veri özelliğinin (property) bir zorunlu alan olduğunu belirtir. Dolayısıyla, belirli bir veri özelliği için bir değer girilmeden önce Required doğrulama yöntemi kullanılır.
Örnek kullanımı aşağıdaki gibidir:
Özellik Adı | Girdi Türü | Doğrulama Tipi |
---|---|---|
Name | String | Required |
Surname | String | Required |
Yukarıdaki örnekte, Name ve Surname özellikleri için Required kullanımı gösterilir. Bu, Name ve Surname özelliklerinin zorunlu alanlar olduğunu belirler. Dolayısıyla, kullanıcılar bu alanları doldurmadan formu gönderemezler.
Required yöntemi, uygulamaların veri doğrulama işlemlerinde oldukça etkilidir. Zorunlu alanları belirlemek, kullanıcılara yalnızca eksiksiz ve doğru bilgi girmelerine izin verir ve uygulamanın veri bütünlüğünü korur.
Range
ASP.NET Core MVC uygulamalarında veri doğrulama işlemleri yapmak için farklı yöntemler kullanılabilir. Bunlardan biri de Range kullanımıdır. Range, belirlenen aralıkta bir veri değerinin geçerli olup olmadığını kontrol eder. Bu doğrulama yöntemi, hem sayısal hem de tarih verileri için kullanılabilir.
Örnek kullanımı için, bir uygulama formunda kullanıcının yaşını belirlemek isteyelim. Kullanıcının yaşının 18-65 arasında olması gerektiğini belirleyelim. Bunun için kullanabileceğimiz kod şu şekildedir:
```[Range(18, 65)]public int Age { get; set; }```
Bu kodda, [Range()] içinde belirtilen ilk değer en düşük değer, ikinci değer ise en yüksek değerdir. Yukarıdaki örnekte, Age özelliğinin değeri 18-65 arasında olmalıdır; aksi takdirde bir doğrulama hatası oluşur.
Range kullanımı, veri doğrulama işlemlerinde oldukça kullanışlıdır. Kullanıcının form verilerinin doğruluğunu kontrol ederken, veri türüne uygun bir aralık belirleyerek daha spesifik ve doğru bir veri doğrulama işlemi yapmamızı sağlar.
Özelleştirilmiş Veri Doğrulama Yöntemleri
ASP.NET Core MVC uygulamalarında veri doğrulama işlemleri yapmak için, dahili data annotations kullanılabilir. Ancak, bazı durumlarda özelleştirilmiş veri doğrulama yöntemleri oluşturmak gerekebilir. Böylece, veri doğrulama işlemleri daha hassas ve tam olarak yapılabilecektir.
Özelleştirilmiş veri doğrulama yöntemleri oluşturmak için, öncelikle Custom Validation Attribute oluşturmak gerekmektedir. Bu işlem için aşağıdaki adımlar izlenebilir:
Adım | Açıklama |
---|---|
1 | Custom Validation Attribute sınıfı oluşturmak |
2 | ValidationAttribute sınıfından kalıtım almak |
3 | IsValid yöntemini override etmek ve istenen doğrulama işlemlerini yapmak |
4 | AttributeUsage özniteliği ile, attributeun nerelerde kullanılabileceğini belirtmek |
Özelleştirilmiş veri doğrulama yöntemlerinin kullanımına yönelik olarak, ASP.NET Core MVC uygulamalarında müşteri tarafından da doğrulama işlemleri yapılabilir. Bu durumda, Client-Side Validation kullanılabilir. Örneğin, uygun bir müşteri tarafı doğrulama kütüphanesi kullanılarak, hatalı bir e-posta adresi girildiğinde, kullanıcının hemen uyarılması sağlanabilir.
Custom Validation Attribute Oluşturma
Custom Validation Attribute, ASP.NET Core MVC uygulamalarında veri doğrulama işlemlerini daha özelleştirilmiş ve hassas bir şekilde gerçekleştirmek için kullanılan bir yöntemdir. Bu yöntem sayesinde, uygulama içerisinde daha detaylı bir veri doğrulama işlemi yapmak mümkün olur.
Özelleştirilmiş veri doğrulama yöntemleri oluşturmak için, öncelikle ValidationAttribute sınıfından türetilen bir custom attribute yazılması gerekmektedir. Bu attribute içerisinde, veri doğrulama işleminde kullanılan parametreler tanımlanır ve verilerin doğruluğu kontrol edilir.
Custom Validation Attribute oluşturmak için aşağıdaki adımlar izlenebilir:
- ValidationAttribute sınıfından türeriz.
- Overrride edilmiş IsValid() metodu içerisinde, veri doğrulama işlemi gerçekleştirilir.
- Başka parametreler eklemek istiyorsak, constructor içerisine tanımlayabiliriz.
- Validation işlemleri yapılacak property'ye bu custom attribute'ı eklenebiliriz.
Custom Validation Attribute örneği:
Alan Adı | Açıklama | Örnek Kod |
---|---|---|
Name | Ad alanı, minimum 5, maksimum 15 karakter olabilir. | [AttributeUsage(validOn: AttributeTargets.Field)] public class NameAttribute : ValidationAttribute { public override bool IsValid(object value) { string name = Convert.ToString(value); if (name.Length < 5 || name.Length > 15) { return false; } return true; } } |
Yukarıdaki örnekte, custom NameAttribute sınıfı, "name" alanında minimum 5, maksimum 15 karakterlik bir doğrulama gerçekleştirir. Bu attribute'ı "name" alanına eklemek için, aşağıdaki örnek kod kullanılabilir:
[Name(ErrorMessage = "Ad alanı minimum 5, maksimum 15 karakter olabilir.")]
Bu şekilde, ASP.NET Core MVC uygulamalarında özelleştirilmiş veri doğrulama yöntemleri oluşturulabilir ve uygulamalarda daha hassas bir veri doğrulama işlemi gerçekleştirilebilir.
Client-Side Validation İşlemleri
Client-Side Validation, veri doğrulama işlemlerini doğrudan kullanıcının internet tarayıcısında gerçekleştirir. Kullanıcının verileri hatalı bir şekilde girmesi durumunda, hata mesajları hızlı bir şekilde görüntülenebilir. Bu sayede, veri doğrulama işlemleri daha hızlı ve etkili bir şekilde gerçekleştirilir.
ASP.NET Core MVC uygulamalarında Client-Side Validation işlemleri kolayca yapılabilmektedir. Bunun için öncelikle jQuery kütüphanesinin yüklü olması gerekmektedir. Daha sonra, aşağıdaki kod parçası kullanılarak Client-Side Validation işlemleri yapılabilir.
$(document).ready(function () { $("#myForm").validate({ rules: { Name: { required: true, minlength: 5 }, Age: { required: true, number: true, min: 18, max: 60 } }, messages: { Name: { required: "Lütfen isminizi giriniz", minlength: jQuery.validator.format("En az {0} karakter girmelisiniz") }, Age: { required: "Lütfen yaşınızı giriniz", number: "Lütfen sayısal bir değer giriniz", min: jQuery.validator.format("En az {0} yaşında olmalısınız"), max: jQuery.validator.format("En fazla {0} yaşında olabilirsiniz") } } });});
Bu örnekte, #myForm isimli formunun Name ve Age alanları doğrulanmaktadır. Name alanı en az 5 karakter, Age alanı sayısal bir değer olmalıdır. Ayrıca, Age alanı 18 ile 60 yaş arasında olmalıdır.
- required: Zorunlu alan kontrolü.
- number: Sayısal değer kontrolü.
- min: Minimum değer kontrolü.
- max: Maximum değer kontrolü.
- messages: Hata mesajları.
Client-Side Validation işlemleri sayesinde internet tarayıcısında anlık doğrulama sağlanarak kullanıcı hataları en aza indirgenir. Bu sayede, uygulamanın veri doğrulama işlemleri daha hızlı ve etkili bir şekilde gerçekleştirilir.
Veritabanı Doğrulama Yöntemleri
Veritabanı doğrulama yöntemleri, girdi verilerinin doğruluğunu ve geçerliliğini kontrol etmek için kullanılan bir diğer yöntemdir. ASP.NET Core MVC uygulamalarında, Veri Doğrulama (Validation) işlemleri yapmak için kullanılan veritabanı doğrulama yöntemleri, Data Annotations Validation ve Fluent API Validation'dur.
Data Annotations Validation, doğrudan model sınıflarının üstüne yerleştirilen doğrulama özniteliklerinin kullanıldığı bir veritabanı doğrulama yöntemidir. Bu öznitelikler, Required, StringLength, Range ve benzerleri gibi birçok hazır öznitelik içerir. Örneğin, bir kullanıcının adını ve şifresini kaydederken, ad alanı dolu olmalı ve şifre alanı en az 8 karakter olmalıdır.
Fluent API Validation, veritabanı doğrulama işlemleri için daha fazla esneklik sağlayan bir yöntemdir. Bu yöntem, doğrulama işlemlerini, veritabanı bağlantısı ve orm farklılıklarına bağlı kalmadan gerçekleştirebilir. Örneğin, bir kullanıcının yaşını kaydederken, yaş alanının 18 ile 100 arasında olması gerektiğini belirtebilirsiniz.
Bu veritabanı doğrulama yöntemlerini kullanarak, uygulamanızın güvenliğini artırabilir ve kullanıcı girdilerinin doğruluğunu kontrol ederek, hatasız ve doğru verilerle çalışabilirsiniz.
Data Annotations Validation
Veritabanı doğrulama işlemlerinde kullanılan Data Annotations Validation, ASP.NET Core MVC uygulamalarında veri doğrulama işlemlerini kolaylaştıran bir yöntemdir.
Bu yöntemle kullanıcıların girdiği verilerin doğruluğu, belirli özelliklere göre kontrol edilir. Bu özellikler arasında, verinin boyutu, içerik tipi, gereklilik durumu ve benzeri durumlar yer alır.
Örneğin, bir kullanıcının belirli bir sayfada belirli bir alanı doldurması gerekiyorsa, Required özelliği kullanılarak bu zorunluluk sağlanabilir. Aynı şekilde, bir alanın maksimum uzunluğu belirtilmek isteniyorsa StringLength özelliği kullanılabilir.
Data Annotations Validation ile ilgili örnek kodlara bakacak olursak, aşağıdaki örnekle bir alanın zorunlu olup olmadığı kontrol edilir.
```public class User{ [Required] public string Username { get; set; }}```
Yukarıdaki kod örneğinde, Username alanı Required özelliği ile zorunlu hale getirilmiştir. Kullanıcının bu alanı boş bırakması durumunda, uygulama hata mesajı verecektir.
Benzer şekilde, bir alanın veri tipi kontrol edilerek geçerli bir sayı olup olmadığı kontrol edilebilir. Aşağıdaki örnekte Range özelliği kullanarak bir sayının belirli aralıklarda olmasını kontrol edebiliriz.
```public class Product{ [Range(1, 100)] public int Quantity { get; set; }}```
Yukarıdaki örnekte, Quantity alanının 1 ile 100 arasında bir sayı olması gerektiği belirtilmiştir. Bu sayede, kullanıcının belirtilen aralıkta bir sayı girmesi sağlanır.
Data Annotations Validation ile ilgili daha detaylı özellikler ve örnekler için ASP.NET Core MVC dokümantasyonunu inceleyebilirsiniz.
Fluent API Validation
ASP.NET Core MVC uygulamalarında veri doğrulama işlemleri için kullanabileceğiniz yöntemlerden biri de Fluent API Validation'dur. Bu yöntem ile özelleştirilmiş veri doğrulama kuralları oluşturabilirsiniz. Örneğin, bir kullanıcının şifresinin en az 8 karakter olması gerektiği gibi.
Fluent API Validation kullanmak için, öncelikle uygulamanızda bir DbContext sınıfı belirlemeniz ve bu sınıfın üzerine kurallarınızı tanımlamanız gerekir. DbContext sınıfınızda, OnModelCreating metodunda ModelBuilder nesnesini kullanarak özelleştirilmiş kurallarınızı tanımlayabilirsiniz.
Örneğin, aşağıdaki kod bloğu ile bir kullanıcının adının en az 2 karakter, soyadının ise en az 3 karakter olması gerektiğini belirtebilirsiniz:
protected override void OnModelCreating(ModelBuilder modelBuilder){ modelBuilder.Entity() .Property(u => u.FirstName) .IsRequired() .HasMaxLength(2); modelBuilder.Entity
() .Property(u => u.LastName) .IsRequired() .HasMaxLength(3);}
Yukarıdaki kodda, ModelBuilder nesnesi kullanılarak fluent API fonksiyonları ile FirstName ve LastName özellikleri için kurallar oluşturulmuştur. Bu kurallara göre, kullanıcının adı en az 2 karakter, soyadı ise en az 3 karakter olmalıdır.
Fluent API Validation kullanırken özelleştirilmiş kurallar oluşturabilirsiniz. Örneğin, bir kullanıcının şifresinde hem büyük harf, hem küçük harf, hem de rakam kullanması gerektiği gibi kuralları uygulayabilirsiniz.
Bu şekilde oluşturacağınız özelleştirilmiş kurallar sayesinde verilerin doğruluğunu ve geçerliliğini sağlayabilirsiniz.