![](/img/trans.png)
[英]Add error in existing errors while validating object through hapi/joi
[英]Joi is throwing error while validating mongoose object -
當我創建一個 Contact 類型的對象(它是 MongoDB 模式的模型)時,它會拋出一些奇怪的錯誤,如下所示。 我使用 Joi 的目的是用於客戶端驗證,即傳入請求。
這里 auth 是一個中間件,它驗證 jwt 並從 jwt 中取出 id。
它顯示了一種奇怪的錯誤,例如 - **"$__" 是不允許的。 不允許使用“isNew”。 不允許出現“錯誤”。 不允許使用“_doc”。 不允許使用“$locals”。 不允許使用“$op”**
router.post('/',auth,async (req,res)=>{
try{
// console.log(`contact - ${JSON.stringify(req.body)}`);
let contact = new Contact({
firstName : req.body.firstName,
lastName : req.body.lastName,
email : req.body.email,
address : req.body.address,
country : req.body.country,
isBookMark : req.body.isBookMark,
});
// console.log(`before contact - ${JSON.stringify(contact)}`);
// // contact = {...req.body};
// console.log(`before after - ${JSON.stringify(contact)}`);
contact.userID=req.user.id;
// ?console.log(`contact - ${(contact)}`);
const {error} = validateContact(contact);
console.log(`ERROR - ${error}`);
}
catch(error){
console.log(`contacts - ${error.message}`);
}
問題是您正在嘗試驗證具有自己內部屬性的貓鼬模式類。 這就是您在錯誤中看到的內容。 你在這里有兩個選擇
不要傳遞聯系人對象,而是將req.body
傳遞給您的驗證函數。
或者從聯系模式中提取屬性並將該對象傳遞給驗證函數。
希望有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.