一个路由,两个有效的有效负载在Hapi.js与Joi
One route, two valid payloads in Hapi.js with Joi
我试图在同一条路由上验证两个不同的有效负载模式。两个有效的选项是:
validate: {
payload: {
email: Joi.string().required(),
password: Joi.string().required()
}
}
和
validate: {
payload: {
token: Joi.string().required()
}
}
我尝试过使用and
和or
功能的组合,这非常接近,但它允许所有三个被传递为有效载荷:
validate: {
payload: Joi.object().keys({
email: Joi.string().required(),
password: Joi.string().required(),
token: Joi.string().required()
}).and('email', 'password').or('token', 'email', 'password')
}
其实我算出来了。我需要使用xor
与两个依赖中的一个:
validate: {
payload: Joi.object().keys({
email: Joi.string(),
password: Joi.string(),
token: Joi.string()
}).and('email', 'password').xor('token', 'password')
}
相关文章:
- 如何有效地将游戏数据存储在URL查询字符串中
- 如何使用Node.js最有效地解析网页
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- 有效形式-始终只显示1个错误[角度]
- Javascript袖珍参考,第121页:这是怎么回事;猴子补丁”;方法应该有效
- 单击仅在第二次单击后有效
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- 为什么自我执行匿名有效
- D3.js生成有效的SVG,但不显示任何内容
- 如何在AngularJS中有效地检查日期是否有效
- 为什么不是'我的函数在解析云代码中工作吗?当我在Angular和Express中测试时,它是有效的
- 滚动在Chrome中有效,但在Firefox或IE中无效
- 在Hapi.js Restful API中了解请求IP
- 有效地获取两个区间之间的随机整数
- Rails将JavaScript对象存储到Model的有效方式
- Javascript XMLHttpRequest——只有第一个POST请求有效
- 使用条件语句,使 jquery fadeIn/fadeOut 仅在视口 >= 480px 时才有效
- 有效负载字节与实际字节不同
- 使用Good在Hapi.js中记录请求和响应有效载荷
- 一个路由,两个有效的有效负载在Hapi.js与Joi