我使用旧版本的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的语法。
答案 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' } }