我正在使用Joi包进行服务器端验证.
我想检查一个给定的字符串是否在给定的列表中,或者它是否不在给定的列表中.(定义黑名单或值列表的白名单),
如"in"或"notIn"函数.我可以这样做吗? ?
var schema = Joi.object().keys({
firstname: Joi.string().in(['a','b']),
lastname : Joi.string().notIn(['c','d']),
});
Run Code Online (Sandbox Code Playgroud)
tho*_*sin 31
You are looking for the valid and invalid functions.
v16: https://hapi.dev/module/joi/api/?v=16.1.8#anyvalidvalues---aliases-equal
v17: https://hapi.dev/module/joi/api/?v=17.1.1#anyvalidvalues---aliases-equal
As of Joi v16 valid and invalid no longer accepts arrays, they take a variable number of arguments.
Your code becomes
var schema = Joi.object().keys({
firstname: Joi.string().valid(...['a','b']),
lastname: Joi.string().invalid(...['c','d']),
});
Run Code Online (Sandbox Code Playgroud)
Can also just pass in as .valid('a', 'b') if not getting the values from an array (-:
Rob*_*kal 15
怎么样:
var schema = Joi.object().keys({
firstname: Joi.string().valid(['a','b']),
lastname : Joi.string().invalid(['c','d']),
});
Run Code Online (Sandbox Code Playgroud)
别名:.allow和.only
和.disallow和.not
| 归档时间: |
|
| 查看次数: |
4066 次 |
| 最近记录: |