Node.js Nodejs-Joi检查字符串是否在给定列表中
我正在用于服务器端验证。Node.js Nodejs-Joi检查字符串是否在给定列表中,node.js,joi,Node.js,Joi,我正在用于服务器端验证。我想检查给定字符串是否在给定列表中或不在给定列表中。(为值定义黑名单或白名单) 类似于“in”或“notIn”的函数。我怎么做 var schema = Joi.object().keys({ firstname: Joi.string().in(['a','b']), lastname : Joi.string().notIn(['c','d']), }); 那么: var schema = Joi.object().keys({ firstn
我想检查给定字符串是否在给定列表中或不在给定列表中。(为值定义黑名单或白名单)
类似于“in”或“notIn”的函数。我怎么做
var schema = Joi.object().keys({
firstname: Joi.string().in(['a','b']),
lastname : Joi.string().notIn(['c','d']),
});
那么:
var schema = Joi.object().keys({
firstname: Joi.string().valid(['a','b']),
lastname : Joi.string().invalid(['c','d']),
});
还有别名:。允许和。仅限
和.disallow和.not您正在查找
有效的
和无效的
函数。v16:
v17: 从Joi v16
valid
和invalid
不再接受数组开始,它们接受的参数数量可变
您的代码变为
var schema = Joi.object().keys({
firstname: Joi.string().valid(...['a','b']),
lastname: Joi.string().invalid(...['c','d']),
});
如果没有从数组中获取值,也可以作为
.valid('a','b')
传入(-):这不再有效,因为“有效”不再接受数组类型的参数这应该是可接受的答案!Robert Moskal的答案不再有效。在joi/hapi中,没有有效或无效选项:|@BadriDerakhshan:如果你说的是@hapi/joi
,那么就没有@hapi/joi
了!这个包得到了dep上个月改版&Joi正式回归Joi。((@hapi/Joi
中也存在有效和无效do)-这有点令人沮丧,因为用户去年不得不从Joi切换到@hapi/Joi,一年后再次切换到Joi:-)