dve*_*ti3 3 validation node.js joi
我在项目中使用“ joi”:“ 10.0.6”和“ express-validation”:“ 1.0.1”来验证将保存在数据库中的JSON对象。字段之一是字符串,但可以为null或为空。在字符串为空或为null的情况下,如何允许其通过验证?
我已经尝试过以下情况:
dataId: Joi.string().allow(null).allow('').optional()
Run Code Online (Sandbox Code Playgroud)
和
dataId: Joi.alternatives().try(Joi.string(), Joi.allow(null))
Run Code Online (Sandbox Code Playgroud)
但它们都不起作用。
Nav*_*mad 12
这很简单,假设该字段是数据,那么您可以将验证作为
data: Joi.string().allow('')
Run Code Online (Sandbox Code Playgroud)
允许空字符串通过,对于多个字符串验证,也可以这样做
data: Joi.string().allow('', null)
Run Code Online (Sandbox Code Playgroud)
允许传递数据字段的空值和空值。
Jos*_*ley 10
如果你想允许空字符串并将其视为未定义(即将其转换为未定义),则使用 Joi 的empty方法:
data: Joi.string().empty('')
Run Code Online (Sandbox Code Playgroud)
如果您只是将其指定为
dataId: Joi.string()
Run Code Online (Sandbox Code Playgroud)
默认情况下它应该是可选的。
编辑:目前无法自己尝试。如果上面不起作用,这里有一个替代方案:
dataId: Joi.string().min(0).allow('').allow(null)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4597 次 |
| 最近记录: |