簡體   English   中英

JOI : 允許數組中的空值

[英]JOI :allow null values in array

我正在嘗試在 POST 請求中添加對數組的驗證

Joi.array().items(Joi.string()).single().optional()

我需要在有效負載中允許空值。 你能告訴我如何做到這一點嗎?

如果要允許數組為空,請使用:

Joi.array().items(Joi.string()).allow(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()

非常簡短的回答是:

name: Joi.string().allow(null)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM