2010-06-10 71 views
1

我有一個非常大的表單,我需要用戶完成。他們需要能夠保存他們的進步,無論有效與否。當他們稍後回來時,他們可以更新並生效 - 然後提交數據。什麼是覆蓋mvc應用程序中數據驗證的最佳方法

我使用客戶端腳本(XVAL),服務器端的域模型的屬性。你

回答

0

一種選擇是有一個[保存草稿]按鈕,會去一個不同的動作SaveDraft(),而不是保存()。通過單獨的方法,您可以決定在保存操作中需要的驗證數量。我認爲更清潔。

具有相同的保存動作決定是否申請validatation邏輯的數量將是難以閱讀和維護。

+0

我的主要問題是,我使用XVAL用於客戶端驗證...不知道我怎麼可以改寫驗證。我想這是作者的一個問題。此外,需要評估是否需要爲用戶提供此功能(以保存),因爲存在多個字段,我們甚至不希望在未驗證某些輸入的情況下保存這些字段。我們需要在這裏做出一些決定......謝謝! – waynem 2010-06-14 16:23:46

+0

@waynem這聽起來像你不想重寫xVal驗證。您希望關閉該頁面以便可以發佈數據或通過jQuery Ajax帖子繞過數據。 – 2010-06-21 22:17:19

0

我不知道很多關於XVAL,但也許你可以看到從XVAL屬性繼承和做檢查有...

例如ConditionalRequiredAttribute:RequiredAttribute,它可能會採取適當的狀態進行驗證。如果驗證條件滿足(狀態!=「草案)

確認將作爲base.Validate()(或任何它被稱爲)上ConditionalRequiredAttribute的validate方法一樣簡單。

因爲我不知道XVAL ,我不知道客戶端驗證是如何工作的......它是否創建客戶端驗證代碼?在這種情況下,您必須編寫代碼來在javascript中創建類似的包裝(例如if(status!=「Draft 「)......如果驗證只是使一個Ajax調用返回的錯誤的列表服務器,然後我想,你就不必做任何事情。

抱歉,我不能直接回答你的問題,但也許這可以幫助你想出一些想法...

相關問題