问题描述
我使用 express-validator(6.x) 版本来验证输入请求参数。
我有一个地址嵌套对象,所以这个字段是可选的,但如果有地址键,其他嵌套对象是必需的。
样本输入
const details = {
name: "abcd",address: {
area: "test1",city: {
code: "123",name: "test"
},state: {
code: "123",country: {
code: "123",name: "test"
}
}
}
const validate = [
body('name').not().isEmpty().isString(),body('address.area').optional().isString(),body('address.city.name').optional().isString(),body('address.city.code').optional().isString(),body('address.state.name').optional().isString(),body('address.state.code').optional().isString(),body('address.country.code').optional().isString(),body('address.country.name').optional().isString(),]
router.route('/:userId')
.put(update,function(req,res){
//code....
})
在这里,我尝试使用自定义密钥但不起作用。
样本输入#1(有效)
const details = {
name: "abcd"
}
样本输入#2:
const details = {
name: "abcd",address: {}
}
以上输入无效,应该包含所有地址嵌套对象,如区域、州、国家...
最好的方法是什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)