Допустим, у меня есть StartDate и EndDate и я Wnt, чтобы проверить, если EndDate не более чем 3 месяца, кроме Даты началаСравнить даты DataAnnotations проверки ASP.NET MVC
public class DateCompare : ValidationAttribute
{
public String StartDate { get; set; }
public String EndDate { get; set; }
//Constructor to take in the property names that are supposed to be checked
public DateCompare(String startDate, String endDate)
{
StartDate = startDate;
EndDate = endDate;
}
public override bool IsValid(object value)
{
var str = value.ToString();
if (string.IsNullOrEmpty(str))
return true;
DateTime theEndDate = DateTime.ParseExact(EndDate, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
DateTime theStartDate = DateTime.ParseExact(StartDate, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture).AddMonths(3);
return (DateTime.Compare(theStartDate, theEndDate) > 0);
}
}
, и я хотел бы реализовать это в моей проверки
[DateCompare ("StartDate", "EndDate", ErrorMessage = "Сделка может быть только 3 месяца долго!")]
Я знаю, что я получаю ошибка здесь ... но как я могу сделать такую проверку бизнес-правил в asp.net mvc
есть ли ответ на этот вопрос? oliver, что для вас работает? –