C# 许多复杂的模型错误添加

C# 许多复杂的模型错误添加,c#,validation,.net-core,modelstate,C#,Validation,.net Core,Modelstate,我对核心mvc编程有点陌生 我有很多日期验证 e、 g: private void Validations() { 如果(开始日期>=结束日期) { AddModelError(“,“ErrorMessage”); 返回; } 如果(开始日期

我对核心mvc编程有点陌生

我有很多日期验证

e、 g:

private void Validations()
{
如果(开始日期>=结束日期)
{
AddModelError(“,“ErrorMessage”);
返回;
}
如果(开始日期<日期时间.今天)
{
AddModelError(“,“ErrorMessage”);
返回;
}
如果(开始日期<未来日期)
{
AddModelError(“,“ErrorMessage”);
返回;
}
减去var=开始日期减去(结束日期);
如果(减去天数<分钟)
{
AddModelError(“,“ErrorMessage”);
返回;
}
//等等
}
有没有办法使它更干净或更好?

您可以:

  • 用于编写手动验证
  • 为复杂字段验证逻辑创建
  • 在模型类中实现并移动验证代码
  • 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
    }