I have a StartDate
and EndDate
on my SchoolEvents
Model and I was wondering if there are any data annotations I could use to verify that the StartDate
is less than or equal to the EndDate
and that the EndDate
is greater than or equal to the StartDate
?
Asked
Active
Viewed 7,106 times
6

The Vanilla Thrilla
- 1,915
- 10
- 30
- 49
2 Answers
5
From my point of view, you have to build a custom validation attribute. You can look at the link to validate follow specific your validation. It will take your efforts so much. Instead of you use data annotation you should apply Fluent Validation which will help you reduce efforts. It is easy to setup, straight forward and separates of concern, you do not need mixing between view models, domain objects, and validations which depend on business rule.
3
You can achieve what you need by installing and using foolproof
nuget package.
Install foolproof
nuget package and use its extra useful attributes like the following:
public class EventViewModel
{
[Required]
public string Name { get; set; }
[Required]
public DateTime Start { get; set; }
[Required]
[GreaterThan("Start")]
public DateTime End { get; set; }
}
More examples of exactly what you need are here

Amin Saqi
- 18,549
- 7
- 50
- 70
-
1There is no support for MVC3+ on foolproof and the last version of it was in 2012 – Odys Jun 23 '14 at 11:47