如何在Joi中使用min方法?代码报错‘Joi.min is not a function’求助
解决Joi中
min()方法调用错误的问题 错误原因
你写的password: Joi.min(4).required()是错误的——Joi本身没有直接的min()方法,min()是依附于具体数据类型(比如字符串、数字)的校验规则,必须先指定数据类型,再链式调用该方法。
修正后的代码
let schema = Joi.object({ email: Joi.string().email({ tlds: { allow: false } }).required(), password: Joi.string().min(4).required() // 先指定string类型,再调用min() }); let { error } = schema.validate(req.body); if (error) { return res.send(error.details[0].message); }
补充说明
- 若你的密码是纯数字类型,可改为
Joi.number().min(4).required(),此时min(4)表示数字最小值为4 min()的作用:针对字符串是限制最小长度,针对数字是限制最小值,必须和对应的数据类型方法配合使用
内容的提问来源于stack exchange,提问作者Krish Kevadiya
相关产品推荐
相关产品推荐

