我想以编程的方式逐一验证模型列表。
我尝试了TryValidateModel,但是看起来它聚合了验证错误,所以当我迭代10个模型的列表时(如果第5个模型无效),对于模型6-10 TryValidateModel会返回false。
发布于 2013-11-15 07:14:15
您可以使用控制器方法ValidateModel
或TryValidateModel
。
ValidateModel
-当模型无效时抛出异常。
TryValidateModel
-返回指示模型是否有效的bool。
来自MSDN
在验证模型时,如果至少有一个表单输入绑定到模型属性,则将运行所有属性的所有验证器。TryValidateModel与ValidateModel方法类似,只是如果模型验证失败,TryValidateModel方法不会抛出InvalidOperationExceptionexception。
如果您一个一个地验证模型列表,您可能希望通过调用ModelState来重置每个迭代的ModelState.Clear()
。
https://stackoverflow.com/questions/19994960
复制相似问题