2013-07-16 27 views
1

當前在webapi控制器上調用SaveChanges時,如果業務規則不滿足,我們會拋出一個包含錯誤消息的異常。 這是不好的做法,相反,我們應該返回錯誤屬性設置爲某些東西,以便jQuery可以處理它。breezejs:填充SaveResult的錯誤屬性

問題是我們該如何填充SaveResult對象的錯誤屬性。我們如何訪問該對象?

回答

2

好問題!我們實際上正在爲本週晚些時候或下週早些時候對下一個版本進行更改。 「新」行爲將是任何服務器端驗證在SaveChanges調用期間發生的異常將對Breeze客戶端產生兩種影響。

1)「失敗」承諾(不是SaveResult,因爲這代表失敗的保存)將被調用,返回的錯誤將包含一個「serverErrors」集合,其中包含有關服務器上遇到的所有驗證錯誤的信息,其中每個服務器錯誤將是一個單獨的json對象,具有完整的錯誤詳細信息,包括髮生錯誤的實體和屬性(如果可用)以及錯誤消息。

2)這些錯誤將自動添加到相應的entity.entityAspect的validationErrors集合中,因此任何使用entityAspect.validationErrorsChanged通知的現有UI都將按預期工作。

+0

哇,太棒了!我期待着,迫不及待地嘗試一下。 – Sam

+0

現已發售,在Breeze網站v 1.4.0 –

+0

看到它:)已經有關於它的問題。感謝修復錯誤! – Sam