2014-04-01 44 views
1

主要有兩種方法來驗證模型ASP.NET MVC模型驗證的最佳實踐

  1. 檢查Model.IsValid中的每一個動作
  2. 實施ActionFilterAttribute和檢查 !actionContext.ModelState.IsValid每一個請求,在全球註冊。

你使用哪一個?他們有什麼優點/缺點?

+1

非常廣泛的國​​際海事組織。無論如何,如果你必須做的只是如果(!Model.IsValid),那麼過濾器是正確的。並非總是如此,有時您需要更多(更具體)的邏輯,然後必須在每種方法中完成... –

回答

2

根據我的經驗,在每個動作中檢查Model.IsValid是一種更好的方法。

  • 允許您使用PRG(後重定向-GET)模式更容易
  • 有時當特定用戶提交表單數據無效
  • 根據您的視圖模型再植字典可能需要無效的表單提交後需要採取的行動
  • ,可以顯示行動成功/錯誤

具體消息我會建議全球ActionFilterAttribute只有最基本的解決方案。