如何使用 Joi 验证实现正确的参考逻辑?
How can I implement proper reference logic with Joi validation?
我正在尝试创建一个简单的模式来检查以确保正确输入了数字范围。逻辑是start必须小于end和end 必须 大于 start.
这是我的架构;
const start = Joi.number().less(Joi.ref('end'))
const end = Joi.number().greater(Joi.ref('start'))
//age Range object
const ageRange = Joi.object().keys({
start: start,
end: end,
})
我在编译代码时遇到的错误:Error: item added into group end created a dependencies error
我试过更改逻辑,但我不确定其他结构是否可行。我知道这可能是参考逻辑的问题,所以任何对此的替代建议将不胜感激。
start必须小于end并且end必须大于start我想你可以只检查其中一个,另一个自动为真。不确定数学中的术语。
像这样的东西应该可以工作
const schema = {
start: Joi.date().iso().required(),
end : Joi.date().iso().greater(Joi.ref('start')).required()
};
let ageRange = Joi.object().keys(schema);
我正在尝试创建一个简单的模式来检查以确保正确输入了数字范围。逻辑是start必须小于end和end 必须 大于 start.
这是我的架构;
const start = Joi.number().less(Joi.ref('end'))
const end = Joi.number().greater(Joi.ref('start'))
//age Range object
const ageRange = Joi.object().keys({
start: start,
end: end,
})
我在编译代码时遇到的错误:Error: item added into group end created a dependencies error
我试过更改逻辑,但我不确定其他结构是否可行。我知道这可能是参考逻辑的问题,所以任何对此的替代建议将不胜感激。
start必须小于end并且end必须大于start我想你可以只检查其中一个,另一个自动为真。不确定数学中的术语。
像这样的东西应该可以工作
const schema = {
start: Joi.date().iso().required(),
end : Joi.date().iso().greater(Joi.ref('start')).required()
};
let ageRange = Joi.object().keys(schema);