POST リクエストで配列の検証を追加しようとしています
Joi.array().items(Joi.string()).single().optional()
ペイロードで null 値を許可する必要があります。これを行う方法を教えてください。
POST リクエストで配列の検証を追加しようとしています
Joi.array().items(Joi.string()).single().optional()
ペイロードで null 値を許可する必要があります。これを行う方法を教えてください。
配列を null にすることを許可する場合は、次を使用します。
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);
私が投稿しているものはあなたが探しているものではないことはわかっていますが、同様の問題に遭遇したためです.
だから私の問題は:オブジェクトに空の配列を許可したくない
私の解決策:
// if you have array of numbers
key: joi.array().items(joi.number().required()).strict().required()
// if you have array of strings
key: joi.array().items(joi.string().required()).strict().required()