簡體   English   中英

Joi 錯誤:ValidationError:“值”必須是對象類型

[英]Joi error: ValidationError: "value" must be of type object

我想知道為什么 JOI 同時返回一個錯誤和一個值:

app.post("/api/courses", (req, res) => {
  const { error, value } = validateStuff(req.body.name);
  console.log(`error: ${error}
  value: ${value}`);

validateStuff = (course) => {
  const schema = Joi.object({
    name: Joi.string().min(3).required(),
  });
  return schema.validate(course);
};

如果你不想出錯,你需要將req.body傳遞給 validateStuff。

您的代碼立即傳遞name屬性中的字符串

或者您可以將您的 Joi 架構更改為const Joi.string().min(3).required()

您的問題表明您想知道為什么 schema.validate 會同時返回錯誤和值。

當像const { error, value} = schema.validate()您可以執行以下操作,因為您可能在運行時出現錯誤或沒有錯誤。

if (error) {
  // handle error
  // passed value might be needed
} else {
  // validation successful
}

遇到這個問題,但原因與上面的其他答案不同。 我的錯誤信息:

{"statusCode":400,"error":"Bad Request","message":"Error validating request payload","propertyErrors":{"value":"\"value\" must be of type object"}}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM