2010-10-22 82 views
1

我正在處理一個非常大的訂單,其中包含大量一次提交的多部分數據。我在HTML中渲染30-40行的行,並允許用戶使用jQuery或多或少地「顯示」或「隱藏」。你如何驗證多部分模型?

問題是,儘管用戶可能擁有三個「顯示」行,並且他們恰好完全填充了所有三個行,但我的模型永遠不會驗證,因爲還有另外27個無效(空)的項目被提交。

我的解決方案是使用內置模型驗證並使用一些自定義模型驗證la ModelState.AddModelError(),但是我覺得自己像是一個衝動,不得不在控制器級重複我的模型驗證。

有沒有更好的方法來處理這個問題?

回答

0

謝謝,但我只是遍歷每一行,並使用jQuery提交按鈕的onclick事件從DOM上刪除空行。

0

將大表單拆分爲多個表單。每個表格都將代表不同的步驟。將您的大型模型分解爲多個視圖模型,每個模型對應於給定步驟。如果你希望Ajax化表單提交和顯示/隱藏步驟,用jQuery逐步增強。