Sequelize.js ValidationError[SequelizeValidationError]:验证错误:无效的验证程序函数:非空,
我第一次尝试Sequelize.js,我不知道是什么错误。我正在使用Oath2进行Google登录,并将用户数据发送到MySQL localhost服务器: 错误 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
验证错误:无效的验证程序函数:非空,
验证错误:无效的验证程序函数:非空
在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
}
}
请参见中的每属性验证,哦,我的天啊,非常感谢你。真是个愚蠢的错误,我甚至没有仔细核对。谢谢。