生成Joi验证Sequelize模型

时间:2016-01-12 16:51:05

标签: node.js validation express sequelize.js joi

我使用expressjs开发了一个API,Sequelize是我使用过的ORM。我想将express-validation集成到我的API中以验证请求正文和参数。 express-validation框架使用Joi验证规则。但是,由于我已经在Sequalize模型中定义了验证规则,因此我在不想使用Joi重新定义验证规则以进行请求正文验证。

我只是想知道是否有任何方法或库可以根据Sequelize模型中定义的验证生成Joi验证规则。否则,处理这个问题的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

你签出了joi-sequelize吗?

答案 1 :(得分:0)

这个问题太老了,但是这个答案可能对正在学习该语言或刚开始使用续集的新手很有帮助

Sequelize默认提供验证。您可以查看文档

Sequelize Validation docs

但是,如果您想为自己的自定义验证器提供自定义的“漂亮”消息。您可以随时使用

@ 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);

捕获是否有任何属性未通过验证。