expressjs
我已经使用并且Sequelize
是我使用的 ORM开发了一个 API 。我想将快速验证集成到我的 API 以验证请求正文和参数。该express-validation
框架使用 Joi 验证规则。但由于我已经在我的Sequalize
模型中定义了验证规则,我不喜欢使用 Joi 重新定义验证规则以进行请求正文验证。
我只是想知道是否有任何方法或库可以根据 Sequelize 模型中定义的验证生成 Joi 验证规则。否则,处理此问题的最佳方法是什么?
expressjs
我已经使用并且Sequelize
是我使用的 ORM开发了一个 API 。我想将快速验证集成到我的 API 以验证请求正文和参数。该express-validation
框架使用 Joi 验证规则。但由于我已经在我的Sequalize
模型中定义了验证规则,我不喜欢使用 Joi 重新定义验证规则以进行请求正文验证。
我只是想知道是否有任何方法或库可以根据 Sequelize 模型中定义的验证生成 Joi 验证规则。否则,处理此问题的最佳方法是什么?
你检查过 joi-sequelize吗?
这个问题太老了,但是这个答案可能对那些正在学习语言或可能开始使用 sequelize 的新手有帮助
Sequelize 默认提供验证。您可以查看文档
但是,如果您想为自己的自定义验证器提供自定义“漂亮”消息。您可以随时使用
@hapi/joi
包装“正常”的方式。joi-sequelize 或 sequelize-joi 不仅仅需要提供自定义错误消息。(句点)
function validateData(datas) {
const schema = Joi.object({
user_name: Joi.string().min(3).required(),
user_address: Joi.string().required()
});
return schema.validate(datas);
}
然后使用验证数据
const { error } = validateData(req.body);
如果任何属性未通过验证,它会捕获。