2012-12-20 50 views
1

保存更改期間,有驗證失敗的實例,但我如何返回並顯示實際的錯誤消息。該saveFailed功能被執行,但我想更多的細節信息,什麼驗證失敗,那些個別錯誤emssagesBreeze.js如何顯示驗證錯誤消息

function saveChanges() { 
     if (manager.hasChanges()) { 
      manager.saveChanges() 
       .then(saveSucceeded) 
       .fail(saveFailed); 
     } else { 
      alert("Nothing to save"); 
     }; 
    }; 


    function saveSucceeded() { 
     alert("changes saved successfully"); 
    }; 

    function saveFailed(error) { 
     alert("Error while saving changes" + error.message); 
    }; 

回答

0

由故障處理程序返回的「錯誤」的對象,應該包含更多的細節,根據錯誤。以下性質應該總是有

返回Error.message - 錯誤消息 error.status - HTTP錯誤代碼 - 通常是400或500的代碼 error.detail - 相關的錯誤 error.XHR任何細節 - 原始的XML HttpResponse對象 error.responseText

對於驗證錯誤,現在它們出現在error.message中,但我們正在考慮將它們以更簡潔的方式分解出來,可能放到另一個屬性中。但現在它們會出現在error.message中。

1

看看breeze下載提供的TODO示例。

dataservice.js清楚地顯示如何捕獲和顯示驗證錯誤。

+0

在我看來,這只是部分正確。 TODO示例沒有顯示如何將實體錯誤關聯起來形成元素......我想這將會非常複雜。但是,當我第一次開始學習Breeze如何處理數據註釋異常時,我的豌豆腦希望這會更容易。 –