gpt4 book ai didi

node.js - MeanJS:Crud 模块数据验证失败

转载 作者:太空宇宙 更新时间:2023-11-04 02:21:50 26 4
gpt4 key购买 nike

我正在使用 Mean.JS 创建一个应用程序。

我正在尝试为我的模型“Exchanges”之一设置 CRUD 模块。

通过界面添加新的 Exchange 时,我遇到数据验证问题。

我返回“请填写 API key ”,即使在表单中我已填写了属性:

在我的模型(exchange.server.model.js)中:

    var ExchangeSchema = new Schema({
name: {
type: String,
default: '',
required: 'Please fill Exchange name',
trim: true
},
apikey: {
type: String,
default: '',
required: 'Please fill in API Key',
trim: true
},
secret: {
type: String,
default: '',
required: 'Please fill in Secret Key',
trim: true
}
// ...
});

在我看来(create-exchange.client.view.html):

    <div class="form-group">
<label class="control-label" for="name">Name</label>
<div class="controls">
<input type="text" data-ng-model="name" id="name" class="form-control" placeholder="Name" required>
</div>

<label class="control-label" for="apikey">API Key</label>
<div class="controls">
<input type="text" data-ng-model="apikey" id="apikey" class="form-control" placeholder="API Key" required>
</div>

<label class="control-label" for="secret">Secret Key</label>
<div class="controls">
<input type="text" data-ng-model="secret" id="secret" class="form-control" placeholder="Secret Key" required>
</div>
</div>

在我的服务器端 Controller (exchange.server.controller.js)中:

    exports.create = function(req, res) {
var exchange = new Exchange(req.body);
exchange.user = req.user;
exchange.slug = req.body.name.toLowerCase().replace(' ', '');

exchange.save(function(err) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.jsonp(exchange);
}
});
};

任何关于为什么验证失败并返回模型文件中定义的“必需”字符串的建议将不胜感激。

更新:

在我的服务器端 Controller (exchanges.server.controller.js)中,我在调试时添加了以下几行:

console.log("REQUEST: " + util.inspect(req.body) );

我得到了回复:

 REQUEST: { name: 'SomeExchangeName' }

没有传递 apikey/secretkey 值。

最佳答案

我明白了:)

在我的客户端 Controller 中,我需要在保存 Exchange 对象之前将属性添加到它。

     $scope.create = function() {
// Create new Exchange object
var exchange = new Exchanges ({
name: this.name,
apikey: this.apikey, // THIS LINE HERE
secret: this.secret // AND THIS LINE HERE
});

// Redirect after save
exchange.$save(function(response) {
$location.path('exchanges/' + response._id);

// Clear form fields
$scope.name = '';
}, function(errorResponse) {
$scope.error = errorResponse.data.message;
});
};

关于node.js - MeanJS:Crud 模块数据验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32997401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com