I'm little bit new in .core mvc programming.
I have many date validations.
e.g.:
private void Validations()
{
if (startDate >= endDate)
{
ModelState.AddModelError("", "ErrorMessage");
return;
}
if (startDate < DateTime.Today)
{
ModelState.AddModelError("", "ErrorMessage");
return;
}
if (startDate < dateInTheFuture)
{
ModelState.AddModelError("", "ErrorMessage");
return;
}
var substracted = startDate.Subtract(endDate);
if (substracted.Days < MinDays)
{
ModelState.AddModelError("", "ErrorMessage");
return;
}
// and so on
}
Is there any way to make it cleaner or better than this?
You can:
IValidatableObject
on your model and move validation code inside model class