JOI:在数组中允许空值
我正在尝试在POST请求中添加数组的validation
Joi.array().items(Joi.string()).single().optional()
我需要在有效载荷中允许空值。 你能告诉我如何做到这一点吗?
如果你想让数组为null使用:
Joi.array().items(Joi.string()).allow(null);
如果你想在数组中使用null或者空白string,使用:
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);