6

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?

The Vanilla Thrilla
  • 1,915
  • 10
  • 30
  • 49

2 Answers2

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.

Community
  • 1
  • 1
Toan Vo
  • 1,270
  • 9
  • 19
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
  • 1
    There is no support for MVC3+ on foolproof and the last version of it was in 2012 – Odys Jun 23 '14 at 11:47