2012-10-26 48 views
12

我使用@ Html.ValidationMessageFor使用剃刀視圖幫助程序和jQuery不顯眼的驗證設置。在ajax調用Razor視圖後顯示模型狀態錯誤

我想調用控制器/操作並通過使用已經設置的相同驗證邏輯來​​顯示由操作返回的最終模型狀態錯誤。

我已經做了一些代碼,但我想知道是否有辦法自動執行它,即如果我捕獲HTTP錯誤請求作爲AJAX響應,我想從響應正文中取出模型狀態錯誤和插入他們不顯眼的驗證。

我正在尋找完整的推薦方案,而不是解決辦法:)

謝謝!

回答

17

你可以用Json結果(How to get all Errors from asp.net mvc modelState?)返回錯誤:

​​

然後手動顯示錯誤。獲取表單驗證:

var validator = $("form").validate(); 

然後檢查你的字段被正確初始化,例如,你可以看看這裏(可選步驟):

validator.settings.rules 

OR

validator.settings.messages 

如果一切正常,那麼你可能會顯示錯誤:

validator.showErrors({"Password": "Too simple!"}); 

其中Password是字段名稱,Too simple!是錯誤消息。

相關問題