reactjs - joi-browser 不允许空字符串
问题描述
似乎 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 并发送 put 请求时,我可以将 subHeading 字段留空。所以这是 joi-browser 的问题。
解决方案
你试过了吗?
schema = {
_id: Joi.string(),
heading: Joi.string()
.min(5)
.max(50)
.label("Heading")
.required(),
subHeading: Joi.string().max(50).allow('')
};
推荐阅读
- c# - .NetCore 查询 - 连接多对多表并返回结果并包含带有字符串数组的键
- php - PHP使用动态变量构建数组
- python - pybind11 如何为简单的示例类使用自定义类型转换
- swift - iOS:如何在 Swift 中从 CGImage 获取像素数据数组
- r - 如何在ggplot2中标记饼图?
- hibernate - 如何从联接查询中获取计数 - 条件生成器
- swift - 如何使用 SwiftUI 获取鼠标位置?
- javascript - 循环连接内容文件
- c++ - 声明和定义类静态成员变量不会导致多次声明,这是为什么呢?
- jenkins - 当我单击 Jenkins 中的“立即构建”链接时,我只希望它构建一次,但它构建了两次