我怎样才能只用 ModelState.IsValid 检查一个模型

How can i only check one model with ModelState.IsValid

我试图只用 ModelState.IsValid 检查一个模型一次,之后我想用 ModelState.IsValid 检查另一个模型,我想一次完成所有操作。 让我在下面向您展示我真正想做的事情:

[AllowAnonymous]
[HttpPost]
 public async Task<IActionResult> FillingInformation(Company company, Agency agency, List<IFormFile> files, Address address)
 {
   if (ModelState.IsValid("Company"))//if its possible
    {
        //.....
    }
    else if (ModelState.IsValid("Agency"))//if its possible
    {
        //.....
    }
    else if (ModelState.IsValid("Address"))//if its possible
    {
        //.....
    }
    else
    {
        //.....
    }
 }

我已经搜索并尝试将其应用到我的代码中,例如:GetFieldValidationStateValidationStateMicrosoft.AspNetCore.Mvc.ModelBinding.ModelValidationState,但我无法很好地应用它们。

我尝试编写一个检查 ModelState.IsValid 的扩展方法,但它仍然检查两个模型而不是一个。

我正在使用类似的东西。

try {
    var context = new ValidationContext(Company, serviceProvider: null, items: null);
    var results = new List<ValidationResult>();
    if (!Validator.TryValidateObject(Company, context, results, true))
        throw new Exception("Check Company info...");

    //validate all models
}
catch (Exception e) {
    ModelState.AddModelError("", e.Message);
    return View("your_view");
}