joi校验-忽略某个字段&字段无法在body中获取
使用joi校验时,如果你的校验规则里没有某个字段,那么你无法再读取到他
1 const userSchema = { 2 body:{ 3 name: Joi.string().alphanum().min(3).max(12).required(), 4 } 5 }
例:客户端会传来name和age两个字段,我只想校验name字段,如果你在规则只写了name的校验规则,那么你的req.body里将只有name,不包含在校验规则里的字段会被剔除,query和params同理
解决方法:
const userSchema = { body:{ name: Joi.string().alphanum().min(3).max(12).required(), age: Joi.any() } }
对不想校验的字段添加any()校验规则,允许他可以是任何值,包括为空
浙公网安备 33010602011771号