2
我想以編程方式一個一個地驗證模型列表。以編程方式在ASP.NET MVC中驗證模型列表
我試圖TryValidateModel,但看起來像它聚合驗證錯誤,所以,當我走過的10種型號列表循環,如果第5模式是無效的,適用機型6-10 TryValidateModel返回假。
我想以編程方式一個一個地驗證模型列表。以編程方式在ASP.NET MVC中驗證模型列表
我試圖TryValidateModel,但看起來像它聚合驗證錯誤,所以,當我走過的10種型號列表循環,如果第5模式是無效的,適用機型6-10 TryValidateModel返回假。
您可以使用控制器方法ValidateModel
或TryValidateModel
。
ValidateModel
- 如果模型無效則拋出異常。
TryValidateModel
- 返回指示模型是否有效的bool。
從MSDN:
當正在驗證一個模型,對於所有屬性的所有的驗證是 運行如果至少一種形式中輸入被綁定到模型屬性。 TryValidateModel與ValidateModel方法相似,但 TryValidateModel方法不會拋出 InvalidOperationExceptionexception如果模型驗證失敗。
如果您驗證的模型逐一列表中,你可能想通過調用ModelState.Clear()
重置ModelState中每個迭代。
這樣做可以在模型未被視圖填充的情況下進行嗎?換句話說,您的模型對象以其他方式填充。 – Matt
@Matt是的,你可以將你想要的任何模型傳遞給這些方法 – Andrei