Angularjs 根据POST请求进行验证
我正在使用angular和一个express后端进行对话。我可以从我的.get检索数据,但我的.post正在生成验证错误 客户端控制器:Angularjs 根据POST请求进行验证,angularjs,express,Angularjs,Express,我正在使用angular和一个express后端进行对话。我可以从我的.get检索数据,但我的.post正在生成验证错误 客户端控制器: $scope.addFriend = function() { friendsFactory.addFriend($scope.newFriend, function (data) { $location.url('/friends' + data._id); }); }
$scope.addFriend = function()
{
friendsFactory.addFriend($scope.newFriend, function (data)
{
$location.url('/friends' + data._id);
});
}
create: function(request, response)
{
console.log('request');
var friendInstance = new Friend();
friendInstance.first_name = request.params.fname;
friendInstance.last_name = request.params.lname;
friendInstance.b_day = request.params.bday;
friendInstance.save(function(err,data)
{
if (err)
{
response.json(err);
}
else {
rewponse.json(data);
}
})
客户工厂:
factory.addFriend = function (newFriendData, callback) {
$http.post('/friends', newFriendData)
.then(function(response)
{
console.log(response.data);
//callback(response.data);
})
}
服务器路由:
app.post('/friends', function (request, response) {
console.log('routes')
friends.create(request, response);
})
服务器控制器:
$scope.addFriend = function()
{
friendsFactory.addFriend($scope.newFriend, function (data)
{
$location.url('/friends' + data._id);
});
}
create: function(request, response)
{
console.log('request');
var friendInstance = new Friend();
friendInstance.first_name = request.params.fname;
friendInstance.last_name = request.params.lname;
friendInstance.b_day = request.params.bday;
friendInstance.save(function(err,data)
{
if (err)
{
response.json(err);
}
else {
rewponse.json(data);
}
})
控制台上的错误:
Object {errors: Object, message: "Friend validation failed", name: "ValidationError"}
这很可能是一个
mongoose
错误,您试图持久化的文档没有遵循好友模式。您可以共享好友的样子吗?名字:{type:String,必需的:true,maxlength:20},姓氏:{type:String,必需的:true,maxlength:20},b_-day:{type:Date required:true}这就是我在评论中的意思@JSim-在创建之前检查您的朋友,并将其与您的模式进行比较,可能会产生问题。