您能解释一下如何为大型嵌套请求对象创建验证,您是否为自己为对象中的每个字段创建验证,例如:
if (name === undefined){
errors = { name: 'name is required' }
} else if (typeof name !== 'String') {
errors = { name: 'name must be a string' }
} else if (name.length < 2) {
errors = { name: 'name length must be more 2' }
} else if ...
对于每个领域,还是使用一些库?
答案 0 :(得分:0)
您可以使用Joi库进行请求对象验证。 例如。验证请求对象中的字符串:
{
name: Joi.string.required().description('user name')
}
例如,验证对象
{
userData: Joi.object({
name: Joi.string.required().description('user name')
})
}
答案 1 :(得分:0)
您可以使用safen库进行复杂的对象验证。
示例
const safen = require("safen")
const validation = safen.create({
name: "string & length_min: 2",
})
validation.assert({name: "foo"}) // safe
validation.assert({name: 30}) // exception
validation.assert({name: "f"}) // exception