以下 if 條件不起作用:
我仍然可以使用數字而不是字串進行注冊。
在此處輸入影像描述
uj5u.com熱心網友回復:
很可能req.body.firstName并且req.body.lastName以字串形式出現,例如:
{
"firstName": "4",
"lastName": "187"
}
所以typeof仍將它們視為字串。如果你真的討厭數字,你可以使用正則運算式。
const { firstName, lastName } = req.body;
if (firstName.match(/^\d*(\.\d )?$/) || lastName.match(/^\d*(\.\d )?$/)) {
return res.status(422).json({
message: 'Name provides letters, not numbers!',
})
}
或者我建議您使用像Joi或validate.js這樣的驗證庫來避免構建可能存在安全漏洞的 API。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/513407.html
標籤:表示验证
下一篇:Pydantic與列舉子類?
