ValidationError [SequelizeValidationError]: Validation error: Invalid validator function: nonEmpty,
ValidationError [SequelizeValidationError]: Validation error: Invalid validator function: nonEmpty,
我是第一次尝试 Sequelize.js,我不知道错误是什么。我正在使用 Oath2 进行 Google 登录并将用户数据发送到 MySQL 本地主机服务器:
错误
ValidationError [SequelizeValidationError]: Validation error: Invalid validator function: nonEmpty,
Validation error: Invalid validator function: nonEmpty,
Validation error: Invalid validator function: nonEmpty
at InstanceValidator._validate (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:78:13)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async InstanceValidator._validateAndRunHooks (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:111:7)
at async InstanceValidator.validate (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:93:12)
at async model.save (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\model.js:3877:7)
at async Function.create (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\model.js:2207:12) {
errors: [
ValidationErrorItem {
message: 'Invalid validator function: nonEmpty',
type: 'Validation error',
path: 'name',
value: 'Ravikant Chaudhary',
origin: 'FUNCTION',
instance: [User],
validatorKey: null,
validatorName: null,
validatorArgs: [],
original: Error: Invalid validator function: nonEmpty
at InstanceValidator._invokeBuiltinValidator (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:300:13)
at F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:222:37
at F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:4925:15
at Function.forIn (F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:12976:11)
at InstanceValidator._singleAttrValidate (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:198:7)
at F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:148:30
at F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:4925:15
at Function.forIn (F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:12976:11)
at InstanceValidator._perAttributeValidators (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:131:7) at InstanceValidator._validate (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:73:12)
},
ValidationErrorItem {
message: 'Invalid validator function: nonEmpty',
type: 'Validation error',
path: 'email',
value: 'ravikc1799@gmail.com',
origin: 'FUNCTION',
instance: [User],
validatorKey: null,
validatorName: null,
validatorArgs: [],
original: Error: Invalid validator function: nonEmpty
at InstanceValidator._invokeBuiltinValidator (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:300:13)
at F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:222:37
at F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:4925:15
at Function.forIn (F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:12976:11)
at InstanceValidator._singleAttrValidate (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:198:7)
at F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:148:30
at F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:4925:15
at Function.forIn (F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:12976:11)
at InstanceValidator._perAttributeValidators (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:131:7) at InstanceValidator._validate (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:73:12)
},
ValidationErrorItem {
message: 'Invalid validator function: nonEmpty',
type: 'Validation error',
path: 'googleId',
value: '105642570429787261091',
origin: 'FUNCTION',
instance: [User],
validatorKey: null,
validatorName: null,
validatorArgs: [],
original: Error: Invalid validator function: nonEmpty
at InstanceValidator._invokeBuiltinValidator (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:300:13)
at F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:222:37
at F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:4925:15
at Function.forIn (F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:12976:11)
at InstanceValidator._singleAttrValidate (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:198:7)
at F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:148:30
at F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:4925:15
at Function.forIn (F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:12976:11)
at InstanceValidator._perAttributeValidators (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:131:7) at InstanceValidator._validate (F:\Web Development\YT\Ytube\server\node_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
}
}
中的每个属性验证
我是第一次尝试 Sequelize.js,我不知道错误是什么。我正在使用 Oath2 进行 Google 登录并将用户数据发送到 MySQL 本地主机服务器:
错误
ValidationError [SequelizeValidationError]: Validation error: Invalid validator function: nonEmpty,
Validation error: Invalid validator function: nonEmpty,
Validation error: Invalid validator function: nonEmpty
at InstanceValidator._validate (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:78:13)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
at async InstanceValidator._validateAndRunHooks (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:111:7)
at async InstanceValidator.validate (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:93:12) at async model.save (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\model.js:3877:7)
at async Function.create (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\model.js:2207:12) { errors: [ ValidationErrorItem { message: 'Invalid validator function: nonEmpty', type: 'Validation error', path: 'name', value: 'Ravikant Chaudhary', origin: 'FUNCTION', instance: [User], validatorKey: null, validatorName: null, validatorArgs: [],
original: Error: Invalid validator function: nonEmpty at InstanceValidator._invokeBuiltinValidator (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:300:13)
at F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:222:37
at F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:4925:15
at Function.forIn (F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:12976:11)
at InstanceValidator._singleAttrValidate (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:198:7)
at F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:148:30
at F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:4925:15
at Function.forIn (F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:12976:11)
at InstanceValidator._perAttributeValidators (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:131:7) at InstanceValidator._validate (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:73:12)
}, ValidationErrorItem { message: 'Invalid validator function: nonEmpty', type: 'Validation error', path: 'email', value: 'ravikc1799@gmail.com', origin: 'FUNCTION', instance: [User], validatorKey: null, validatorName: null, validatorArgs: [], original: Error: Invalid validator function: nonEmpty at InstanceValidator._invokeBuiltinValidator (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:300:13) at F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:222:37 at F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:4925:15 at Function.forIn (F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:12976:11) at InstanceValidator._singleAttrValidate (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:198:7)
at F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:148:30 at F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:4925:15 at Function.forIn (F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:12976:11) at InstanceValidator._perAttributeValidators (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:131:7) at InstanceValidator._validate (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:73:12) }, ValidationErrorItem { message: 'Invalid validator function: nonEmpty', type: 'Validation error', path: 'googleId', value: '105642570429787261091', origin: 'FUNCTION', instance: [User], validatorKey: null, validatorName: null, validatorArgs: [], original: Error: Invalid validator function: nonEmpty at InstanceValidator._invokeBuiltinValidator (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:300:13) at F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:222:37 at F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:4925:15 at Function.forIn (F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:12976:11) at InstanceValidator._singleAttrValidate (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:198:7)
at F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:148:30 at F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:4925:15 at Function.forIn (F:\Web Development\YT\Ytube\server\node_modules\lodash\lodash.js:12976:11) at InstanceValidator._perAttributeValidators (F:\Web Development\YT\Ytube\server\node_modules\sequelize\lib\instance-validator.js:131:7) at InstanceValidator._validate (F:\Web Development\YT\Ytube\server\node_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
}
}
中的每个属性验证