【发布时间】:2017-02-18 19:23:18
【问题描述】:
我有一个像这样来自 mongodb 的对象
{
"_id": "588c5c0d709d11e2aa0da250",
"fields": [
{
"type": "text",
"required": true,
"placeholder": "Food name",
"name": "name",
"label": "Name",
"order": 1
},
{
"type": "number",
"required": true,
"placeholder": "Item price",
"name": "price",
"label": "Price",
"order": 2
}
]
}
它基本上代表一个表单,我使用字段数组在前端生成一个表单并在前端进行验证,但是我正在努力验证服务器端提交的数据。 请求如下所示
{
"data": [
{
"name": "price",
"value": 17000
}
]
}
根据对象中定义的表单字段,缺少名称字段。我有验证功能设置
validate: (req, fields) => {
var errors = [];
if(!req.data) {
errors.push({field: 'data', message: 'data field is required'})
}
else {
_.each(fields, (f) => {
if(f.required) {
_.each(req.data, (d) => {
if(typeof d[f.name] == "undefined") {
errors.push({field: f.name, message: "field is required" })
}
})
}
})
}
return errors;
}
但是,我的方法返回请求中存在的字段的错误消息。
[
{
"field": "price",
"message": "field is required"
}
]
我很确定我的验证方法缺少一些东西,我只是不太确定它是什么。任何帮助将不胜感激。
【问题讨论】:
标签: javascript node.js mongodb validation