【发布时间】:2021-07-16 12:21:07
【问题描述】:
我想验证给定的 JSON,约束为 expenditure 不得超过 credit
{
"expenditure": {
"house": 2,
"electricity": 1,
"phone": 12
},
"credit": 6
}
const Joi = require("joi");
const schema = Joi.object({
expenditure: Joi.object({
house: Joi.number().integer().min(0).max(5).optional(),
electricity: Joi.number().integer().min(0).max(5).optional(),
phone: Joi.number().integer().min(0).max(5).optional()
}),
credit: Joi.number().integer().min(0).max(15).greater(
Joi.ref('expenditure', {"adjust": expenditure => {
return expenditure.house + expenditure.electricity + expenditure.phone;
}})
)
});
以上代码适用于在对象范围内进行约束,但我需要对此类内容进行验证
[
{
"phone_allowance": 12
},
{
"phone_allowance": 10
},
]
为了确保数组中所有phone_allowance 的总和永远不会超过某个给定值,比如50
【问题讨论】:
标签: javascript validation joi