如何使用 express-validator 为嵌套对象实现验证
How to implement validation using express-validator for the nested object
我创建了一个模型如下:
模型中"name"、"commodityID"、"totalAmount"是必填项,但注意商品ID和totalAmount是内部对象"productDetails"的一部分,现在我使用 express-validator 像这样进行服务器端验证
此验证适用于有意义的 "name" 字段,但不适用于内部对象的 "totalAmount" 和 "commodityID" 字段,
这是我扔邮递员拍的照片
请教大家解决这个问题的正确方法
Use Wildcard * for nested Objects Read
Here
[
check('name', " ").not().isEmpty()
check('productDetails.commdityID', " ").not().isEmpty()
check('productDetails.totalAmount', " ").not().isEmpty()
]
对于数组即
productDetails: [
{
commodityID: {
type: mongoose.Schema.Types.ObjectId,
required: true,
ref: "commodity",
},
perOnePrice: { type: String, required: true },
totalAmount: { type: Number, required: true },
},
],
使用
[
body('productDetails.*.commodityID').not().isEmpty()
body('productDetails.*.perOnePrice').not().isEmpty()
body('productDetails.*.totalAmount').not().isEmpty()
]
对于嵌套对象,假设:
productDetails: {
commodityID: {
type: mongoose.Schema.Types.ObjectId,
required: true,
ref: "commodity",
},
perOnePrice: { type: String, required: true },
totalAmount: { type: Number, required: true },
},
使用
[
body('productDetails.commodityID').not().isEmpty()
body('productDetails.perOnePrice').not().isEmpty()
body('productDetails.totalAmount').not().isEmpty()
]
我创建了一个模型如下:
模型中"name"、"commodityID"、"totalAmount"是必填项,但注意商品ID和totalAmount是内部对象"productDetails"的一部分,现在我使用 express-validator 像这样进行服务器端验证
此验证适用于有意义的 "name" 字段,但不适用于内部对象的 "totalAmount" 和 "commodityID" 字段,
这是我扔邮递员拍的照片
请教大家解决这个问题的正确方法
Use Wildcard * for nested Objects Read Here
[
check('name', " ").not().isEmpty()
check('productDetails.commdityID', " ").not().isEmpty()
check('productDetails.totalAmount', " ").not().isEmpty()
]
对于数组即
productDetails: [
{
commodityID: {
type: mongoose.Schema.Types.ObjectId,
required: true,
ref: "commodity",
},
perOnePrice: { type: String, required: true },
totalAmount: { type: Number, required: true },
},
],
使用
[
body('productDetails.*.commodityID').not().isEmpty()
body('productDetails.*.perOnePrice').not().isEmpty()
body('productDetails.*.totalAmount').not().isEmpty()
]
对于嵌套对象,假设:
productDetails: {
commodityID: {
type: mongoose.Schema.Types.ObjectId,
required: true,
ref: "commodity",
},
perOnePrice: { type: String, required: true },
totalAmount: { type: Number, required: true },
},
使用
[
body('productDetails.commodityID').not().isEmpty()
body('productDetails.perOnePrice').not().isEmpty()
body('productDetails.totalAmount').not().isEmpty()
]