我使用ASP.NET MVC2。
我愛我怎麼可以標註我的模型的字段和檢查ModelState.IsValid
。當檢查,什麼時候不檢查ModelState.IsValid
明顯的原因,以檢查它是在做驗證的時候,但你應該經常檢查它的情況下,新的驗證規則應用到模型?
這樣,你不要忘記/需要檢查是否控制器檢查IsValid
。
有一些理由不這樣做此項檢查在所有情況下?也許只是當控制器操作有副作用(DB寫入等)時?
我使用ASP.NET MVC2。
我愛我怎麼可以標註我的模型的字段和檢查ModelState.IsValid
。當檢查,什麼時候不檢查ModelState.IsValid
明顯的原因,以檢查它是在做驗證的時候,但你應該經常檢查它的情況下,新的驗證規則應用到模型?
這樣,你不要忘記/需要檢查是否控制器檢查IsValid
。
有一些理由不這樣做此項檢查在所有情況下?也許只是當控制器操作有副作用(DB寫入等)時?
但是,如果新驗證規則 應用於模型,您應該始終檢查它嗎?
你應該這樣做檢查總是否則你最終堅持不具有有效狀態的模型。
一般來說,在asp.net-MVC,傳遞到動作模式是視圖模型,它們包含需要採取行動,以行爲所有和唯一的數據。如果這些數據是無效的,理論上應該不可能採取行動來完成其工作。
ModelState.IsValid
保證在需要採取行動的所有數據均處於良好狀態,隨時準備採取行動。我看不到不希望驗證數據的原因。
在嘗試使用模型中收集的數據做某件事之前,您應該始終檢查模型是否有效。這首先是驗證的目的。
這看起來顯而易見,但我會給它一個鏡頭。 還有不需要檢查模型的狀態,當你是不發佈你的模型。常見的情況是當您從服務獲取數據並在獲取操作中顯示時。