3

我想以编程方式一一验证模型列表。

我尝试了 TryValidateModel但看起来它聚合了验证错误,因此当我遍历 10 个模型的列表时,如果第 5 个模型无效,则模型 6-10 TryValidateModel 返回false

4

1 回答 1

3

您可以使用控制器方法ValidateModelTryValidateModel.

ValidateModel- 如果模型无效,则抛出异常。

TryValidateModel- 返回布尔值,指示模型是否有效。

来自MSDN

验证模型时,如果至少一个表单输入绑定到模型属性,则所有属性的所有验证器都会运行。TryValidateModel 与 ValidateModel 方法类似,只是 TryValidateModel 方法在模型验证失败时不会抛出 InvalidOperationExceptionexception。

如果您逐一验证模型列表ModelState.Clear(),您可能希望通过调用为每次迭代重置 ModelState 。

于 2013-11-15T07:14:15.423 回答