在我的MVC應用程序的預訂住宿我有以下幾點:MVC驗證多種形式
- 行動來顯示所選擇的房間與輸入形式的額外信息GET:「詳細信息」 這種觀點有多種形式它,每個發佈到不同的行動。
例子:
- 行動更新的客人POST數: 「UpdateGuests」
- 行動選擇開始日期POST: 「SelectStartDate」
- 行動增加早餐POST:「AddBreakfast 「
- 刪除空間POST的操作:」RemoveProductFromCart「
- 進入下一步驟的操作POST:」繼續「
大部分操作都將回重定向到GET:「詳細信息」視圖,如果需要的話用戶可以執行其他操作,在該進行的情況下,這將重定向到下一個視圖或有某種原因他們無法繼續它將顯示驗證消息,爲什麼在「詳細信息」視圖。
我不確定處理驗證的最佳方式,以下是我想到的一些選項。
- 使用的TempData []存儲驗證信息並重定向到「詳細信息」查看我們添加任何TempData的錯誤,所以ModelState中。
- 在POST:「XXXXXX」行動填充的ModelState和渲染「詳細信息」
這不是一個高容量的網站,以便TempData的是一個選項。
任何想法感激地歡迎。
編輯: 附加信息:
- 我使用DataAnnotations在一些地方的驗證規則。
- 正在計劃添加Ajax作爲漸進式增強,但它應該沒有工作。
重定向的好處是如果用戶刷新它不會要求重新發布數據 – Myster 2009-09-08 21:43:56
我會給馬丁一個答案,這是我現在要做的,但如果任何人有更好的主意我仍然可以從我看到此頁面上改變我的主意;-) – Myster 2009-09-10 02:23:27