У меня есть этот класс переопределении в RangeAttribute:Атрибут диапазона для Даты
public class RangeDateAttribute : RangeAttribute
{
public RangeDateAttribute()
: base(typeof(DateTime),
DateTime.Now.AddYears(-20).ToShortDateString(), DateTime.Today.ToShortDateString()) { }
}
DataAnnotation для моего атрибута:
[RangeDate(ErrorMessage = "Value for {0} must be between {1} and {2}")]
public DateTime anyDate { get; set; }
Я использую метод [ToShortDateString()] в этой проверке, но когда отображается ошибка, она приходит со временем .. Пример:
Value for anyDate must be between 26/05/1995 00:00:00 and 26/05/2015 00:00:00
Как это решить?
Спасибо.
работает как шарм, спасибо большое! Кстати, мне не нужно использовать ToShortDateString() в этом классе, верно? Просто в сообщении об ошибке .. – developer033
Вам все равно нужно использовать метод ToShortDateString() или ToString() для преобразования DateTime в строку, потому что тип данных параметра принимает только строку. Кроме того, вы можете установить значение времени максимального параметра равным 23:59:59 вместо 00:00:00, чтобы включить весь день, и вы можете сделать это с помощью: DateTime.Today.ToString ("dd/MM/yyyy 23:59:59 "). Счастливое кодирование! –
Хорошо! Я видел это после того, как отправил свой комментарий ^^ – developer033