SQLServer’da smalldatetime türündeki bir alanı programlama’da kullanmak istediğimizde smalldatetime veri aralığı 1900-2079 yılları arasında geçerli olduğu için doğrulama kontrolü koyarak kullanıcının yanlış veri girişini engellemelisiniz.
ASP.NET MVC ile smalldatetime doğrulaması yapma
SQLServer’da smalldatetime türündeki bir alanı programlama’da kullanmak istediğimizde smalldatetime veri aralığı 1900-2079 yılları arasında geçerli olduğu için doğrulama kontrolü koyarak kullanıcının yanlış veri girişini engellemelisiniz.
Altta kodda kendi validation attribute’ümüzü tanımladık.
SmallDateTimeValidationAttribute.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public class SmallDateTimeValidationAttribute : ValidationAttribute { public override bool IsValid(object value) { if (value != null) { var smallDateTimeMinimum = new DateTime(1900, 1, 1); var smallDateTimeMaximum = new DateTime(2079, 1, 6); var res = smallDateTimeMaximum > (DateTime)value && smallDateTimeMinimum < (DateTime)value; if (!res) { ErrorMessage = @"01.01.1900 ile 01.06.2079 arasında bir tarih girmelisiniz."; } return res; } return true; } } |
Üstteki kodda yapılmak istenen çok basit ValidationAttribute sınıfnın metodlarından biri olan IsValid() metodunu override ederek kullandık ve kullanıcı tarafından girilen tarih eğer 01.01.1900-01.06.2079 arasında bir tarih girilmediği sürece validation işlemi doğrulamayacaktır. Tanımladığımız validation attribute’ünün kullanımı ise aşağıdaki gibi olacak.
1 2 | [SmallDateTimeValidation] public DateTime DogumTarihi { get; set; } |