javascript - Joi 验证长度数
问题描述
我正在尝试对数字进行长度验证,但它似乎无法正常工作,这是我的架构
const schema = createJoiSchema({
email: Joi.string().required(),
password: Joi.string().required(),
phone: Joi.number().integer().min(10).max(10).required(),
})
我的测试对象是这个
{
"email":"miguel@gmail.com",
"password":"miguel123",
"phone": 1234456789
}
我得到这个错误
"ValidationError: \"phone\" must be less than or equal to 10.
解决方案
由于您在integermin
上使用and ,它实际上应该在 10^9 (最小值有 10 位)和 10^10 - 1 (最大值有 10 位)之间:max
const schema = createJoiSchema({
email: Joi.string().required(),
password: Joi.string().required(),
phone: Joi.number().integer().min(1000000000).max(9999999999).required(),
})
又名
const schema = createJoiSchema({
email: Joi.string().required(),
password: Joi.string().required(),
phone: Joi.number().integer().min(10**9).max(10**10 - 1).required(),
})
推荐阅读
- css - 如何将 Materialise Tooltips 的位置更改为左上角?
- android-studio - Android Studio 无法正确自动完成导入
- php - PHP 文档根目录和要求
- r - 为什么 auto.arima() 给我错误:“'by' 参数太小了”
- c - 使用 exec 进行 IO 重定向
- mysql - 按日期和所有唯一值的总和分组
- python - 如何在列表中保存日期时间对象(python、csv)
- linux - 我在哪里可以找到 OpenEmbedded 层索引中未列出的 Yocto“子”包,如“kbd-keymaps”?
- swift - 如何从枚举中获取字符串
- javascript - 如何正确设置 vue.config.js?