node.js - 如何从 sequelize + node.js 中的多个模型中获取验证错误
问题描述
我正在尝试创建包含相关模型的模型。然后验证失败,我只收到 1 个错误,而不是所有验证失败。例如是
[
{
"loads": {
"name": "Name is required"
}
}
]
我怎样才能让所有相关模型的所有验证都失败?喜欢
[
{
"model1": {
"name": "Name is required"
}
},
{
"model2": {
"name": "Name is required"
}
},
{
"model3": {
"name": "Name is required"
}
},
{
"etc": {
"name": "Name is required"
}
}
]
这是我的路由器功能:
router.post('/', [checkAuth], async (req, res) => {
let {
name="",
weight="",
volume="",
packing_type="",
price_request="",
note="",
visible="",
Origin={city_id: '', date_from: ''}, // Origin object
Destination={city_id: ''}, // Destination object
} = req.body;
result = await db.transaction((t) => {
return LoadModel.create({
user_id: user_id,
name: name,
weight: weight,
volume: volume,
packing_type: packing_type,
price_request: price_request,
note: note,
visible: visible,
origin: Origin,
destination: Destination,
},{ include: [
OriginModel, DestinationModel
], transaction: t})
}).then(result => {
res.status(201).json(result);
}).catch(Sequelize.ValidationError, (err) => {
res.status(400).json(err.errors.map(item => {
return {
[item.instance._modelOptions.tableName]: {[item.path]: item.message}
};
})); // How can i get all validation errors for returning it?
}).catch(badError => {
res.status(500).json(badError);
})
validateErrors.catch(err => {
console.log(err);
})
});
也许有一种方法可以将验证错误从承诺返回到全局对象?或者是其他东西...
解决方案
推荐阅读
- r - 不处理 r 中的 trycatch
- python - 通过 python-social-auth 创建用户配置文件
- java - vs code 无法识别 lombok
- javascript - NodeJs - 如何使用来自另一个模型的数据填充模型视图
- next.js - 如何在 NextJS 中异步加载 CSS
- qgis - 如何在 QGIS 中禁用“另存为...”选项
- c++ - 即使有错误,如何改进 C 中的 makefile 以移动目标文件并进行编译?
- elasticsearch - 在 logstash 配置中设置变量并引用它们
- server - SQL 数据源的 OData 服务
- arrays - 当数组在对象内部时循环对象和数组