Sequelize.js ValidationError[SequelizeValidationError]:验证错误:无效的验证程序函数:非空,

Sequelize.js ValidationError[SequelizeValidationError]:验证错误:无效的验证程序函数:非空,,sequelize.js,Sequelize.js,我第一次尝试Sequelize.js,我不知道是什么错误。我正在使用Oath2进行Google登录,并将用户数据发送到MySQL localhost服务器: 错误 ValidationError[SequelizeValidationError]:验证错误:无效的验证程序函数:非空, 验证错误:无效的验证程序函数:非空, 验证错误:无效的验证程序函数:非空 在InstanceValidator上进行验证(F:\Web Development\YT\Ytube\server\node\u modu

我第一次尝试Sequelize.js,我不知道是什么错误。我正在使用Oath2进行Google登录,并将用户数据发送到MySQL localhost服务器:

错误

ValidationError[SequelizeValidationError]:验证错误:无效的验证程序函数:非空,
验证错误:无效的验证程序函数:非空,
验证错误:无效的验证程序函数:非空
在InstanceValidator上进行验证(F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\instance validator.js:78:13)
在处理和拒绝时(内部/process/task_queues.js:97:5)
异步InstanceValidator.\u validateAndRunHooks(F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\instance validator.js:111:7)
在async InstanceValidator.validate(F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\instance validator.js:93:12) 在async model.save(F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\model.js:3877:7)
在async Function.create(F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\model.js:2207:12){ 错误:[ 验证错误{ 消息:“无效的验证程序函数:非空”, 类型:“验证错误”, 路径:“名称”, 价值:“Ravikant Chaudhary”, 来源:'函数', 实例:[用户], 验证器密钥:null, 验证器名称:null, 验证器参数:[],
原始:错误:无效的验证程序函数:非空 在InstanceValidator.\u invokeBuiltinValidator(F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\instance validator.js:300:13)
在F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\instance validator.js:222:37
在F:\Web Development\YT\Ytube\server\node\u modules\lodash\lodash.js:4925:15
位于Function.forIn(F:\Web Development\YT\Ytube\server\node\u modules\lodash\lodash.js:12976:11)
InstanceValidator.\u singleAttrValidate(F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\instance validator.js:198:7)
在F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\instance validator.js:148:30
在F:\Web Development\YT\Ytube\server\node\u modules\lodash\lodash.js:4925:15
位于Function.forIn(F:\Web Development\YT\Ytube\server\node\u modules\lodash\lodash.js:12976:11)
在InstanceValidator上。在InstanceValidator上运行论坛验证程序(F:\Web Development\YT\Ytube\server\node\U modules\sequelize\lib\instance validator.js:131:7)。在InstanceValidator上运行论坛验证程序(F:\Web Development\YT\Ytube\server\node\U modules\sequelize\lib\instance validator.js:73:12)
}, 验证错误{ 消息:“无效的验证程序函数:非空”, 类型:“验证错误”, 路径:“电子邮件”, 值:'ravikc1799@gmail.com', 来源:'函数', 实例:[用户], 验证器密钥:null, 验证器名称:null, 验证器参数:[], 原始:错误:无效的验证程序函数:非空 在InstanceValidator.\u invokeBuiltinValidator(F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\instance validator.js:300:13) 在F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\instance validator.js:222:37 在F:\Web Development\YT\Ytube\server\node\u modules\lodash\lodash.js:4925:15 位于Function.forIn(F:\Web Development\YT\Ytube\server\node\u modules\lodash\lodash.js:12976:11) InstanceValidator.\u singleAttrValidate(F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\instance validator.js:198:7)
在F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\instance validator.js:148:30 在F:\Web Development\YT\Ytube\server\node\u modules\lodash\lodash.js:4925:15 位于Function.forIn(F:\Web Development\YT\Ytube\server\node\u modules\lodash\lodash.js:12976:11) 在InstanceValidator上。在InstanceValidator上运行论坛验证程序(F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\instance validator.js:131:7)。在InstanceValidator上运行论坛验证程序(F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\instance validator.js:73:12) }, 验证错误{ 消息:“无效的验证程序函数:非空”, 类型:“验证错误”, 路径:“谷歌ID”, 值:“105642570429787261091”, 来源:'函数', 实例:[用户], 验证器密钥:null, 验证器名称:null, 验证器参数:[], 原始:错误:无效的验证程序函数:非空 在InstanceValidator.\u invokeBuiltinValidator(F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\instance validator.js:300:13) 在F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\instance validator.js:222:37 在F:\Web Development\YT\Ytube\server\node\u modules\lodash\lodash.js:4925:15 位于Function.forIn(F:\Web Development\YT\Ytube\server\node\u modules\lodash\lodash.js:12976:11) InstanceValidator.\u singleAttrValidate(F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\instance validator.js:198:7)
在F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\instance validator.js:148:30 在F:\Web Development\YT\Ytube\server\node\u modules\lodash\lodash.js:4925:15 位于Function.forIn(F:\Web Development\YT\Ytube\server\node\u modules\lodash\lodash.js:12976:11) 在InstanceValidator上。在InstanceValidator上运行论坛验证程序(F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\instance validator.js:131:7)。在InstanceValidator上运行论坛验证程序(F:\Web Development\YT\Ytube\server\node\u modules\sequelize\lib\instance validator.js:73:12) } ] }

index.js

   const cors = require('cors')

   const app = express()

const db = require('./models');
const { User } = require('./models');

app.use(express.json())
app.use(cors());


app.post("/signin", (req, res) => {
   const name = req.body.name
   const email = req.body.email
   const googleId = req.body.googleId

   User.create({
       name: name,
       email: email,
       googleId: googleId
   }).catch((err) => {
       console.log(err);
   });

   res.send('inserted into database')
})


const PORT = 5000

db.sequelize.sync().then((req) => {
   app.listen(PORT, () => {
       console.log(`node server started at port : ${PORT}`)
   });
});
型号


module.exports = (sequelize) => {
    const User = sequelize.define("User", {
        name: {
            type: Sequelize.STRING,
            allowNull: false,
            validate: {
                nonEmpty: true
            }
        },
        email: {
            type: Sequelize.STRING,
            allowNull: false,
            validate: {
                nonEmpty: true
            }
        },
        googleId: {
            type: Sequelize.STRING,
            allowNull: false,
            validate: {
                nonEmpty: true
            }
        }
    });

    return User;
};

您应该更正验证的名称,它应该是
notEmpty
,而不是
nonEmpty

name: {
            type: Sequelize.STRING,
            allowNull: false,
            validate: {
                notEmpty: true
            }
        }

请参见

中的每属性验证,哦,我的天啊,非常感谢你。真是个愚蠢的错误,我甚至没有仔细核对。谢谢。