Нужен Атрибут для проверки ограничения даты - C#
Формулировка задачи:
Всем привет. у меня такая ситуация. Есть форма где нужно вводить много чего и дату начала договора и дату окончания договора, но есть одно условия: дата начала договора не должна быть раньше чем 1 день назад и больше чем сегодня, дата окончания договора может быть любой, но не меньше чем дата начала. Нужен Атрибут для проверки, может кто то подобное делал уже, поделитесь, пожалуйста. Или дайте дельный совет как проще сделать.
Я думаю должно быть что-то на подобие такого
но как это сделать???
[DateRange( date1, date2)] public DateTime BeginContract {get;set;}
Решение задачи: «Нужен Атрибут для проверки ограничения даты»
textual
Листинг программы
public class DataRangeAttribute : ValidationAttribute { public DateTime Begin { get; private set; } public DateTime End { get; private set; } public DataRangeAttribute(DateTime begin, DateTime end) { Begin = begin; End = end; } public DataRangeAttribute() : this(DateTime.Now.Date.AddDays(-1), DateTime.Now.Date) { } public override bool IsValid(object value) { DateTime dateToValidate; bool tryParse = DateTime.TryParse(value.ToString(), out dateToValidate); return tryParse && dateToValidate > Begin && dateToValidate < End; } public override string FormatErrorMessage(string name) { return string.Format("В указанном поле {0} введена не правильная дата , введите дату в диапозоне {1} - {2}", name, Begin, End); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д