似乎joi浏览器不允许使用空字符串。这是我的架构:
schema = {
_id: Joi.string(),
heading: Joi.string()
.min(5)
.max(50)
.label("Heading")
.required(),
subHeading: Joi.string().max(50)
};
如果我将subHeading字段保留为空(因为它不是必填字段),则会收到错误消息:““ subHeading”不允许为空”
反正验证中是否允许空字符串?
我将Node.js用于后端,我的模型如下所示:
const headingSchema = new mongoose.Schema({
heading: {
type: String,
minlength: 5,
maxlength: 50,
required: true
},
subHeading: {
type: String,
minlength: 5,
maxlength: 50
}
});
因此,当我使用Postman并发送放置请求时,可以将subHeading字段保留为空。因此,这是joi浏览器的问题。
答案 0 :(得分:2)
您尝试了吗?
schema = {
_id: Joi.string(),
heading: Joi.string()
.min(5)
.max(50)
.label("Heading")
.required(),
subHeading: Joi.string().max(50).allow('')
};