Javascript 在保存之前使用Sequelize Build来构建和验证模型

Javascript 在保存之前使用Sequelize Build来构建和验证模型,javascript,mysql,node.js,sequelize.js,Javascript,Mysql,Node.js,Sequelize.js,我有一种情况,我想通过条带接受付款,但首先需要验证表单输入 一旦表单验证,我将在success函数中调用Stripe并确保其良好。如果两者都好,我会处理付款,然后保存后 我正在努力做一个验证后,手-记住我不想保存它还 我正在将Express/Node.js与Sequelize-MySQL一起使用 var post = Post.build({ title: req.body.title, description: req.body.description, }) 我试过类

我有一种情况,我想通过条带接受付款,但首先需要验证表单输入

一旦表单验证,我将在success函数中调用Stripe并确保其良好。如果两者都好,我会处理付款,然后保存后

我正在努力做一个验证后,手-记住我不想保存它还

我正在将Express/Node.js与Sequelize-MySQL一起使用

 var post = Post.build({
    title: req.body.title,
    description: req.body.description,
  })
我试过类似的东西,但在我的控制台上它显示为红色

post.validate().error(err => {
    console.log(err)
  })
下面这个解决方案是我在网上找到的,它不起作用

//   if (errors) {
//     for (var prop in errors) {
//       console.log(prop.error)
//       if (errors.hasOwnProperty(prop)) {
//         console.log(errors[prop])
//           console.log("Errors for field " + prop + ": ");
//             // for (var i = 0; i < errors[prop].length; i++) {
//             //          errors[prop][i];
//             // }
//     }
//   }
//如果(错误){
//for(错误中的var prop){
//控制台日志(属性错误)
//if(errors.hasOwnProperty(prop)){
//console.log(错误[prop])
//log(“字段“+prop+”:”的错误”;
////对于(var i=0;i

我想一次返回所有表单错误,然后当通过时,执行我的条带,然后当通过时,保存两者。

要使用
sequelize
验证字段,并获得重大错误,说明您必须在模型定义中使用
验证:{}
属性以及要检查的规则

关于文件:

模型验证器允许您指定格式/内容/继承 对模型的每个属性进行验证 在
create
update
save
上自动运行。您也可以调用
validate()
手动验证实例

根据验证规则验证此实例的属性 在模型定义中设置

例如:

module.exports = (sequelize, DataTypes) => {
  const test = sequelize.define(
    'test',
    {
      testDate: {
        allowNull: false,
        type: DataTypes.Date,
        defaultValue: DataTypes.NOW,
        validate: {
          isDate: true,
        },
      }
    },
    {
      freezeTableName: true,
      timestamps: false,
    }
  )
}
手动验证:

const item = await test.build(object)
const validatedItem = await item.validate()
如果未通过验证,则返回结果:

您可以在这里找到更多信息: