Fluent Validation Tarih Kısıtlaması

Fluent Validation’da içinde bulunulan yıl ve aydan önceki tarihlerin girilmesi halinde hata vermesini sağlayan kısıtlamayı nasıl yazacağınızı anlatacağım. Bunu yapmanın birçok yolu var ben bir tanesini göstereceğim.

RuleFor(x => x)
                .Must((x, context) =>
                {
                    var monthLimit = DateTime.Now.Month;
                    var yearLimit = DateTime.Now.Year;

                    if (ExpireMonth < monthLimit && x.ExpireYear <= yearLimit)
                        return false;
                   return true;
                }).WithMessage("Payment.ExpireDate.GreaterThanNow");

monthLimit ve yearLimit olarak iki değişken tanımlıyoruz. Bunlar içinde bulunulan yılın ay ve yıl bilgilerini tutuyor. Daha sonra validasyonu oluşturduğumuz classın propertyleri ile bu değişkenlerimizi kıyaslıyoruz.

Eğer girilen ay ve yıl şuanki ay ve yıldan küçük ise Message içinde yazılan hata veriliyor. Eğer büyük ise işlemlere devam ediliyor.

Furkan Aktaş

Bilgisayar Mühendisiyim. Microsoft MCSA Web Applications Sertifikasına Sahibim. Aktif iş hayatımda Full Stack .Net Developer olarak çalışmaktayım.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir