У меня есть объект с 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"
}
]
Я уверен, что мой метод проверки отсутствует, я просто не совсем уверен, что это такое. Любая помощь будет оценена.