所以我正在與 Joi 合作進行驗證,我在嘗試使用郵遞員發帖時遇到了這個錯誤。
我正在學習教程,我嘗試以不同的方式撰寫它,但仍然遇到同樣的問題。
我正在嘗試訪問錯誤訊息。(首先選擇錯誤,然后是詳細資訊,然后是訊息)
在教程中,它看起來像這樣
res.send(error.details[0].message)
我可以看到錯誤,但是一旦我選擇了詳細資訊,回應就是空的。
需要幫助請叫我。
先感謝您。
主與你同在,拯救你所有人,你的家人和朋友 :)
uj5u.com熱心網友回復:
似乎error沒有一個名為details. 這error.details就是未定義的原因。因此,當試圖訪問該值的第一個索引的元素時,undefined您會得到一個錯誤。
修理:
- 確保錯誤物件包含 Array 型別的屬性詳細資訊
- 如果 error.details 將依賴于其他代碼塊(有時已定義,有時未定義),您可以添加一個三元運算式來告訴您的代碼,以防萬一
error.details確實未定義。例子:
err.details ? res.send(error.details[0].message) : res.send("error")
這轉化為
if (err.details) { // if defined
res.send(error.details[0].message) // Send the message from the error
} else {
res.send("error") // Send a general message
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/488878.html
標籤:javascript 节点.js json 验证
