我想以编程方式逐一验证模型列表。
我尝试了TryValidateModel,但是看起来它聚集了验证错误,因此当我遍历10个模型的列表时,如果第5个模型无效,则对于6-10个模型,TryValidateModel返回false。
您可以使用控制器方法ValidateModel
或TryValidateModel
。
ValidateModel
-如果模型无效,则引发异常。
TryValidateModel
-返回布尔值,表明模型是否有效。
从MSDN:
验证模型时,如果将至少一个表单输入绑定到模型属性,则将运行所有属性的所有验证器。TryValidateModel与ValidateModel方法类似,不同之处在于,如果模型验证失败,则TryValidateModel方法不会引发InvalidOperationExceptionException。
如果您逐一验证模型列表,则可能需要通过调用来为每次迭代重置ModelState ModelState.Clear()
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句