2014-02-14 20 views
0

執行保存時,回調將傳遞一個error參數。在回調中區分系統/內部錯誤和驗證錯誤的正確方法是什麼?如何區分Mongoose中的驗證和系統錯誤?

model.save(function (err, model) { 
     if (validation err) { 
      // do smth 
     } else { 
      // do smth else 
     } 
    }); 

回答

0

根據Mongoose documentation關於確認:返回失敗後,驗證

錯誤包含一個錯誤的對象 控股的實際ValidatorErrors。每個ValidatorError都有一個類型, 路徑和value屬性爲我們提供了更多的錯誤 處理靈活性。

console.log(err.errors.color.value) // prints "grease" 
console.log(err.name) // prints "ValidationError" 
console.log(err.message) // prints "Validation failed" 

和:

驗證錯誤後,該文件也將具有相同的錯誤 財產可供選擇:

toy.errors.color.message === err.errors.color.message