Проверка свойства в массиве в request.body с использованием ValidatorJS - PullRequest
0 голосов
/ 15 апреля 2020

Я использую валидатор JS в моем nodeJs сервисе для валидации.

Ниже моя структура req.body

[
    {
        "accountType": 1.2,
        "series": "medium",
        //other properties here
    },
    {
        "accountType": 2,
        "series": "severe",
        //other properties here
    },
]

Валидация правило:

const accountRule = {
    '*.accountType': 'required|numeric|min:0'
}

Логи проверки c

import Validator from '../validator';

public accountValidation = (req: Request, res: Response, next: any) => {
        Validator(req.body, accountRule, {}, (err, isValid) => {
            if (!isValid) {
                //response logic here
            } else {
                next();
            }
        });
    };


`isValid` is always coming true, and not validating the accountType properties even if I pass incorrect types like
true, "Something", -2 ...

Что я пробовал:

Я попытался изменить структуру моего req.body следующим образом:

{ 
  "accountOb":
  [
    {
        "accountType": 1.2,
        "series": "medium",
        //other properties here
    },
    {
        "accountType": 2,
        "series": "severe",
        //other properties here
    },
  ]
}

Изменил правило так, как показано ниже

const accountRule = {
    'accountOb.*.accountType': 'required|numeric|min:0'
}

Тогда проверка работает нормально. Но я не хочу менять структуру моего запроса. Есть ли способ проверить, не оборачивая объект над структурой запроса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...