ben

OMÜ , Bilgisayar Mühendisliği, 13'

16 Eylül 2022 Cuma

MetaDataType

 

Burada modellerin Property alanlarına validasyon uyarılarını yazacağız. Bunun için Model katmanındaki MetaDataTypes klasörünün altına validasyona sahip olan her bir model için class açmamız gerekiyor. İsimlendirme için ise modelismi+MetaData yazabiliriz. Örneğin user modeli için UserMetaData olabilir

MetaData class siçine modeldeki sadece validasyon uyarısı olan propertyleri alacağız.

GasMetaData.cs

 public class GasMetaData

    {
        [Required(ErrorMessage ="Lütfen Gaz Türünü Seçiniz!")]
        public GasType GasTypes { get; set; }
        [Required(ErrorMessage = "Lütfen seçili olan gaz türünün Litre Fiyatını Giriniz")]
        public float Prince { get; set; }
    }

Gas Modeline gelip senin validasyon uyarıların burada dememeiz gerekiyor.

Gas Model en üstüne aşağıdaki komutu ekleyelim, Eğer ctrl+. ile kütüphaneyi görmüyor ise Mifrosoft .Mvc Core kütüphanesini nuget manege ile Model katmanına yükleyin. 

 [ModelMetadataType(typeof(GasMetaData))]

Şimdi sırayla tüm model validasyonları yazalım.

PaymentMetaData.cs

 public class PaymentMetaData
    {
        [Required(ErrorMessage = "Lütfen Ödeme Türünü Seçiniz!")]
        public PaymentType Ptype { get; set; }
    }

Payment Model;

 [ModelMetadataType(typeof(PaymentMetaData))]

SalesMetaData.cs

 public class SalesMetaData
    {
        [Required(ErrorMessage = "Lütfen Gaz Türünü Seçiniz!")]
        public string PumpNo { get; set; }
        [Required(ErrorMessage = "Lütfen Araç Plakasını Giriniz")]
        [MaxLength(8, ErrorMessage = "en fazla 8 karakter")]
        [MinLength(6, ErrorMessage = "en az 6 karakter")]
        public string Plate { get; set; }
        [Required(ErrorMessage = "Lütfen LitreMiktarını Giriniz!")]
        public float Liter { get; set; }
    }

Sales Model:

 [ModelMetadataType(typeof(SalesMetaData))]

StationMetaData.cs

 public class StationMetaData
    {
        [Required(ErrorMessage = "Lütfen İstasyon İsmini Giriniz")]
        [MinLength(3, ErrorMessage = "En az 3 karakter")]
        public string StationName { get; set; }
        [Required(ErrorMessage = "Lütfen İL Bilgisini Giriniz")]
        public string City { get; set; }
    }

Station Model:

 [ModelMetadataType(typeof(StationMetaData))]

UserMetaData.cs

 public class UserMetaData
    {
        [Required(ErrorMessage = "Lütfen Kullanıcı Adı Giriniz")]
        [MinLength(5, ErrorMessage = "en az 5 karakter")]
        public string UserName { get; set; }
        [MinLength(5, ErrorMessage = "en az 5 karakter")]
        public string Password { get; set; }
    }

User Model:

 [ModelMetadataType(typeof(UserMetaData))]




Hiç yorum yok: