npm joi,带有null,undefined,空值和默认值

时间:2017-06-07 06:11:16

标签: node.js npm joi

我使用旧版本的npm模块joi => 10.2.2我试图找出如何构建模式,因此允许使用默认值为空,null,未定义的值。

这有效https://github.com/hapijs/joi/issues/516

var schema = joi.object().keys({a:[joi.string().optional(), joi.allow(null)]})

但我不知道如何用此指定默认值。

我正在寻找的是https://github.com/hapijs/joi/issues/1066(版本v10.5.2),但使用旧版本的joi的语法。

1 个答案:

答案 0 :(得分:2)

empty()在joi 10.2.2中可用。您引用的问题只是文档更改。

const joi = require('joi');

const schema = joi.object().keys({
    a: joi.string().optional().allow(null).allow('').empty('').default('default value')
});

let t = {
    a: ''
};

let result = joi.validate(t, schema);

console.log(result);
// { error: null, value: { a: 'default value' } }