You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 00:50:28