首页 > 解决方案 > 如何在 C# 中重新验证模型?

问题描述

我在模型中有一个列表,如下所示:

{
  "DepartmentId": 0,
  "Employees": [
    {
      "EmployeeId": 101,
      "EmployeeName": "Employee One",
      "DepartmentId": "1"
    },
    {
      "EmployeeId": 102,
      "EmployeeName": "Employee Two",
      "DepartmentId": "2"
    },
    {
      "EmployeeId": 0,
      "EmployeeName": "Employee Three",
      "DepartmentId": ""
    }
  ]
}

并且由于列表中的一项无效,因此 ModelState.IsValid 返回 false。现在我已经从列表中删除了该项目,如下所示:

{
  "DepartmentId": 0,
  "Employees": [
    {
      "EmployeeId": 101,
      "EmployeeName": "Employee One",
      "DepartmentId": "1"
    },
    {
      "EmployeeId": 102,
      "EmployeeName": "Employee Two",
      "DepartmentId": "2"
    }
  ]
}

现在,请任何人告诉我如何重新验证模型。

以下是正在使用的实际代码:

public void Settings(Companies companies)
{
    try
    {
        // This is the code that I am using to remove item from list.
        companies.Employees.Remove(companies.Employees.Find(x => x.IsActive == false && x.EmployeeId == 0));  

        // Now here I want to re-validate the model.

        if (ModelState.IsValid)
        {
            // To Do
        }
    }
    catch() {}
}

标签: c#asp.net-mvcvalidationmodelmodelstate

解决方案


推荐阅读