c# Web
Beğen (0)

Core Mvc Projesinde ModelMetaDataType Yapısıyla User Model Validation Doğrulamalarını Kontrol Etme

Model validation tanımlamalarını model tarafında oluşturulan class dosyasında attributes özellikleri ekleyerek gerçekleştirebiliyorduk. Ancak hem model dosyasının karmaşık hale gelmesi hem de tanımlamaların birden fazla class dosyasında kullanılması durumunda fazla yer kaplaması nedeniyle model validation tanımlamalarının başka bir dosyada yer alması ihtiyacını doğurmuştur. Bu derste bu işlemlerin nasıl yapıldığını göreceğiz.

Bu işlemi gerçekleştirmek için Models klasöründe MetaDataType isminde bir klasör oluşturalım. Bu klasör altında UserMetaData isminde bir class oluşturalım. User dosyasında doğrulama gerektiren tüm alanları buraya ekleyelim. Dosya içeriği aşağıdaki gibi olacaktır.

public class UserMetaData
{
    [Required(ErrorMessage = "Lütfen adınızı giriniz...")]
    [Display(Name = "Adı : ")]
    [StringLength(25, ErrorMessage = "Adı en az 3, 
fazla 25 karakter olmalıdır...", MinimumLength = 3)]
    public string? FirstName { get; set; }
    [Required(ErrorMessage = "Lütfen soyadını giriniz...")]
    [Display(Name = "Soyadı : ")]
    [StringLength(25, ErrorMessage = "Soyadı en az 3, 
fazla 25 karakter olmalıdır...", MinimumLength = 3)]
    public string? LastName { get; set; }
    [Required(ErrorMessage = "Lütfen kullanıcı adını giriniz...")]
    [Display(Name = "Kullanıcı Adı : ")]
    [StringLength(20, ErrorMessage = "Kullanıcı adı en az 5, 
fazla 20 karakter olmalıdır...", MinimumLength = 5)]
    public string? UserName { get; set; }
    [Required(ErrorMessage = "Lütfen şifreyi giriniz...")]
    [DataType(DataType.Password)]
    [StringLength(15, ErrorMessage = "Şifre 8 karakterden az olamaz.", 
MinimumLength = 8)]
    [Display(Name = "Şifre : ")]
    [RegularExpression("^((?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])|
(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[^a-zA-Z0-9])|(?=.*?[A-Z])(?=.*?[0-9])
(?=.*?[^a-zA-Z0-9])|(?=.*?[a-z])(?=.*?[0-9])(?=.*?[^a-zA-Z0-9]))
.{8,}$", ErrorMessage = "Şifreler en az 8 karakter olmalı ve büyük harf 
(A-Z), küçük harf (a-z), rakam (0-9) ve özel karakterlerden(!@#$%^&*) 
üçünü içermelidir.")]
    public string? Password { get; set; }
    [Required(ErrorMessage = "Lütfen şifreyi tekrar giriniz...")]
    [DataType(DataType.Password)]
    [Display(Name = "Şifre Tekrar : ")]
    [Compare("Password", ErrorMessage = "Şifreler eşleşmiyor.")]
    public string? ConfirmPassword { get; set; }
}

User dosyasını aşağıdaki gibi düzenleyelim.

[ModelMetadataType(typeof(UserMetaData))]
public class User
{
    public string? FirstName { get; set; }
    public string? LastName { get; set; }
    public string? UserName { get; set; }
    public string? Password { get; set; }
    public string? ConfirmPassword { get; set; }
}

Projeyi kaydedip çalıştıralım. Doğrulama işlemlerinin yapıldığını görürsünüz.

Okunma Sayısı: 5

Yorumlar

Yorum Ekle
Kötü İyi
İlgili Makaleler
Web Tabanlı Uygulama Geliştirme Dersi İkinci Dönem Birinci Yazılı Çalışma Soruları
Web Tabanlı Uygulama Geliştirme Dersi İkinci Dönem İkinci Yazılı Çalışma Soruları
2020 TYT Matematik Ortakatlı Kuralıyla İlgili Sorunun Çözümünü c# Diliyle Web Form Sayfasında Kodlama
Asp.Net Platformunda Harici JSON Dosyasından Namaz Vakitlerini Alma
Personele Ait Boy ve Kilo Bilgilerine Göre İdeal Kiloyu Bulan Uygulamayı Asp.Net İle Yapınız
ASP.NET ve ASP.NET Core Arasındaki Farklar
Asp.Net Uygulamalarında Modal PopUp Oluşturma
Core Mvc Uygulamalarında Sunucuya Dosya Yükleme
Core Mvc Projesinde Tuple Nesneleri Post Etme ve Yakalama İşlemleri
Visual Studio 2022 Programında Asp.Net Web Application Şablonu Görünmüyor Hatasını Düzeltme
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama8
Core Mvc Uygulamalarında Validation İşlemleri
Core Mvc Projesinde Kullanıcıdan Farklı Veri Alma Yöntemlerini Kullanarak Toplama İşlemini Gerçekleştirme
Core Mvc Projelerinde Kullanılan Tag Helper Kütüphanesi ve Özellikleri
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama2
SqLite Programında Uyeler Tablosuyla İlgili Tüm İşlemleri Gerçekleştiren c# Web Uygulaması
Core Mvc Uygulamasında Sanal Data Kullanarak Personel Bilgilerini İşleyen Web Projesi Oluşturma3
Core Mvc Projelerinde Input Tag Helper Kullanımı
Asp.Net Uygulamalarında Repeater Kontrolü
Asp.Net Uygulamalarında ValidationSummary İşlemi