我有一個主 - 細節視圖,用於在ASP NET 3.5 MVC 1.0應用程序中添加,刪除和更新客戶。例如,用戶應該能夠從列表中選擇要編輯的客戶,並在頁面底部顯示詳細的表單以供他/她編輯客戶的數據。使用Ajax在ASP NET MVC驗證失敗時返回500錯誤可以嗎?
當用戶接受更改時,數據通過Ajax POST提交給服務器。驗證僅在服務器端執行。
- 如果驗證失敗,我希望客戶數據的表單重新加載,顯示所有驗證錯誤。如果
- 如果驗證成功,我希望整個客戶列表重新加載所有新客戶的數據(或者我只能重新加載正在編輯的客戶記錄)。
現在到了。我正考慮在第一種情況下返回帶有驗證錯誤的表單的部分視圖,或者在第二種情況下使用客戶列表的部分視圖。
爲了區別該頁面的一部分應該更新,返回一個500或200狀態碼,並使用Ajax 失敗和succeess函數來執行更新。
我的問題是:使用500錯誤(內部服務器錯誤)來表示驗證失敗時,它在語義上是正確的嗎?或者我應該返回一個包含isValid布爾值以及HTML正文的JSON對象,並避免依賴於狀態碼?
謝謝!