nodejs在beforeCreate钩子之前进行序列化以进行一些验证

加布里奇

在将新记录插入数据库之前,我需要执行一些检查,然后确定是否可以插入该记录。我以为可以使用beforeCreate钩子来做这样的事情:

    Data.beforeCreate(function(object, options) {
        Data.scope('complexQuery').findAll().then(function (result) {
            if (result.length >= 1) {
// do not insert the record
            }
            else {
// go ahead and insert
            }
        });
    });

关于如何停止记录创建的任何想法?

这是正确的方法吗?

扬·阿加德·迈耶(Jan Aagaard Meier)

您可以抛出错误,也可以拒绝承诺:

    Data.beforeCreate(function(object, options) {
        Data.scope('complexQuery').findAll().then(function (result) {
            if (result.length >= 1) {
                 throw new Error('Already exists')
                 return sequelize.Promise.reject('Already exists')
            }
            else {
// go ahead and insert
            }
        });
    });

由于您实际上是在进行验证,因此它可能更适合作为验证功能:)

sequelize.define('model', attributes, {
    validate: {
        complexQuery: function () {
            // Do the validation here instead
        }
    }
});

验证同时针对创建和更新运行

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在测试中的ApplicationEvent侦听器之前进行一些设置工作

ArrayList上的可序列化会丢失一些数据

Rails:在路由之前进行身份验证

实例化控制器之前进行ASP.NET MVC身份验证

RxJS:如何在传递下一个有效值之前进行一些清理?

NodeJs Gulp-在开始任务之前进行确认

提交之前进行表单验证的最佳方法是什么?

如何反序列化JSON数组(平面)并忽略一些令牌

序列化:使用软删除的寄存器进行唯一验证

加速序列化过程中丢失一些数据

忽略一些默认值进行序列化

我可以在“继承创建”之前进行一些初始化吗?

如何使用django-rest序列化django中的一些嵌套关系模型?

如何使用DRF在Django中序列化一些嵌套的关系模型?

通过序列化深度克隆时,通过引用克隆了一些实例字段

根据另一个序列化查询的结果进行序列化查询

仅序列化来自父div的一些输入字段

在state_machine gem上持久化之前进行验证

反序列化包含一些不可反序列化的对象的数组(抢救可反序列化的部分)

XStream:反序列化后如何进行验证

SIGABRT处理程序。崩溃前进行一些清理

在Web API中初始化控制器之前进行一些操作(设置语言)

如何只序列化一些类变量?

具有一些修复属性和一些动态属性序列化的对象

调用REST端点之前进行身份验证

RxJS:如何在Angular 2中进行被动搜索之前进行一些清理

我可以在使用Spring MVC JSP Shiro生成视图之前进行一些操作吗

反序列化一些类

如何在 Qwizard 完成按钮插槽上进行一些验证并在 qwizard 完成之前获得确认?