I am getting a validation error with the following message on saving to database even though I have provided all the fields,
即使我提供了所有字段,我在保存到数据库时收到以下消息的验证错误,
{ [ValidationError: Validation failed]
message: 'Validation failed',
name: 'ValidationError',
errors:
{ Name:
{ [ValidatorError: Path `Name` is required.]
message: 'Path `Name` is required.',
name: 'ValidatorError',
path: 'Name',
type: 'required',
value: undefined } } }
This is how the object that I am trying to save looks like
这就是我试图保存的对象的样子
{ Name: 'Nobody Singh',
phone: '+919177121364',
address: 'flat no 306 koratala apartments\nstreet no 3 ,Himayatnagar, Near Siraj plaza',
start: '2014-12-03T13:00:00.000Z',
end: '2014-12-03T15:00:00.000Z',
details: 'flat no 306 koratala apartments\nstreet no 3 ,Himayatnagar, Near Siraj plaza' }
an here are the schema
这是架构
// load the things we need
var mongoose = require('mongoose');
// define the schema for our user model
var appointmentSchema = mongoose.Schema({
email: { type: String, default: 'maisnamraj@gmail.com' },
name: { type: String, required:true },
phone: { type:Number },
address:{ type: String },
details:{ type: String },
title:{ type: String, default: "Slot Taken"},
start: { type:Date},
end: { type:Date},
requestedDate: { type:Date, default: Date.now }
});
// create the model for users and expose it to our app
module.exports = mongoose.model('Appointment', appointmentSchema);
Here is the route file
这是路径文件
app.post('/saveappointment', function(req, res) {
var appointment = new Appointment();
var appointMent = {
//need to add an email here
name: req.body.name,
phone: req.body.phone,
address: req.body.address,
start: req.body.appointment.start,
end:req.body.appointment.end,
details:req.body.details,
address:req.body.address
};
console.log(appointMent);
appointment.save(appointMent,
function(err,resp) {
if(err) {
console.log(err);
res.send({
message :'something went wrong'
});
} else {
res.send({
message:'the appointment has bees saved'
});
}
});
})
2 个解决方案
#1
9
Try this code below and let me know if the same error will appear
请尝试下面的代码,如果出现相同的错误,请告诉我
app.post('/saveappointment', function(req, res) {
var appointment = new Appointment({
//need to add an email here
name: req.body.name,
phone: req.body.phone,
address: req.body.address,
start: req.body.appointment.start,
end: req.body.appointment.end,
details: req.body.details,
address: req.body.address
});
appointment.save(function(err, resp) {
if (err) {
console.log(err);
res.send({
message: 'something went wrong'
});
} else {
res.send({
message: 'the appointment has been saved'
});
}
});
});
#2
1
You need to install ( npm install body-parser --save), and use it in your express server as below (app.js). hope this answer help someone :)
您需要安装(npm install body-parser --save),并在您的快速服务器中使用它,如下所示(app.js)。希望这个答案能帮助别人:)
var express = require('express')
var bodyParser = require('body-parser')
var app = express()
app.use(bodyParser.json())
app.use('/api',api)
module.exports = app
#1
9
Try this code below and let me know if the same error will appear
请尝试下面的代码,如果出现相同的错误,请告诉我
app.post('/saveappointment', function(req, res) {
var appointment = new Appointment({
//need to add an email here
name: req.body.name,
phone: req.body.phone,
address: req.body.address,
start: req.body.appointment.start,
end: req.body.appointment.end,
details: req.body.details,
address: req.body.address
});
appointment.save(function(err, resp) {
if (err) {
console.log(err);
res.send({
message: 'something went wrong'
});
} else {
res.send({
message: 'the appointment has been saved'
});
}
});
});
#2
1
You need to install ( npm install body-parser --save), and use it in your express server as below (app.js). hope this answer help someone :)
您需要安装(npm install body-parser --save),并在您的快速服务器中使用它,如下所示(app.js)。希望这个答案能帮助别人:)
var express = require('express')
var bodyParser = require('body-parser')
var app = express()
app.use(bodyParser.json())
app.use('/api',api)
module.exports = app