joi-browser不允许空字符串

时间:2019-01-06 00:12:17

标签: reactjs joi

似乎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浏览器的问题。

1 个答案:

答案 0 :(得分:2)

您尝试了吗?

schema = {
    _id: Joi.string(),
    heading: Joi.string()
      .min(5)
      .max(50)
      .label("Heading")
      .required(),
    subHeading: Joi.string().max(50).allow('')
};