2014-12-19 58 views
1

我有一個名爲EFT_BANK_INFO的表。由於我不會涉及的原因,我不得不將表格分成兩個單獨的表格。這意味着這個表的一半字段是從一個視圖編輯的,另一半是從另一個視圖編輯的。驗證模型無法提交有效的表單

一切都很好,直到我將表單驗證添加到表模型.cs文件。雖然代碼語法是正確的,但是這兩個表單的所有提交都被標記爲無效,從而阻止我更新,刪除和向表中添加行。由於分離而被標記爲無效;即;我在模型中爲字段的第二部分提供了必填字段,因此,當我提交一半字段的數據時,其他不屬於視圖/提交的字段將被標記爲無效,因爲沒有收到數據。

潛在的解決方法是在創建過程中通過在C#控制器中插入這些字段的值來人爲地滿足不需要字段的驗證。我也可以爲編輯過程做到這一點。

我想知道是否有更好的選擇,因爲我必須有這樣的結構。我希望它只驗證模型中的相關字段,並且不會驗證提交的所有信息,這會導致錯誤。沒有代碼是真的必要的,因爲我沒有錯誤,並知道什麼是錯的,這更多的是理論/解決方案識別問題。謝謝。

+2

有分割對象及其驗證 – 2014-12-19 03:26:11

+0

您只需驗證特定的領域,但如果你再這樣做,爲什麼不直接拆分模型成兩個獨立的人在這一點上爲你的模型是不是真的代表了使用視圖模型? – kmcc049 2014-12-19 03:31:49

回答

0

使用ViewModels

視圖模型僅表示您希望在視圖/頁面上顯示的數據,無論是用於靜態文本還是用於輸入值(如文本框和下拉列表)。

請參閱上面鏈接問題的接受答案。