我正在尝试在POST请求中添加对数组的验证
Joi.array().items(Joi.string()).single().optional()
我需要在有效载荷中允许使用空值。你能告诉我如何做到吗?
最佳答案
如果要允许数组为空,请使用:
Joi.array().items(Joi.string()).allow(null);
如果要允许在数组内部使用null或空格字符串,请使用:
Joi.array().items(Joi.string().allow(null).allow(''));
例子:
const Joi = require('joi');
var schema = Joi.array().items(Joi.string()).allow(null);
var arr = null;
var result = Joi.validate(arr, schema);
console.log(result); // {error: null}
arr = ['1', '2'];
result = Joi.validate(arr, schema);
console.log(result); // {error: null}
var insideSchema = Joi.array().items(Joi.string().allow(null).allow(''));
var insideResult = Joi.validate(['1', null, '2'], insideSchema);
console.log(insideResult);
关于javascript - JOI :allow null values in array,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41470251/