express -валидатор с сервисом get - PullRequest
0 голосов
/ 26 марта 2020

Я хочу проверить свои параметры в сервисе get.

мой URL-адрес как / tableref? Param1¶m2

мой код такой

app.get('/tableref\?:event&:queryObject', [
check('event').isLength({ min: 5, max:15 }),
check('queryObject').isLength({ max: 5, max:35 })
] , function(req, res) {...})

Но У меня ошибка 404.

Я хочу использовать express -validator для проверки моих параметров. Ранее мой код был

 app.get('/tableref', function(req, res) {...})

, как я могу проверить свои параметры с помощью запроса get? Tks

1 Ответ

0 голосов
/ 27 марта 2020

Вы можете сделать это так же, как и в случае post или put запросов.
Вы должны просто импортировать query валидатор

const { query, validationResult } = require('express-validator/check');


app.get("/tableref", 
    [
        query('event').isLength({ min: 5, max:15 }),
        query('queryObject').isLength({ min: 5, max:35 })
    ],
    (req, res, next) => {
        // Check validation.
        const errors = validationResult(req);
        if (!errors.isEmpty()) {
            return res.status(422).json({ errors: errors.array() });
        }
        return res.status(200).json({message:'valid query params'});

});

Ваш URL должен выглядеть следующим образом this /tableref?event=example&queryObject=anotherexample

Обратите внимание, что при использовании приведенного выше кода требуется указание вашего запроса. Если вы пропустите один из них, вы получите ошибку.
Если вы хотите, чтобы какой-либо из ваших параметров был необязательным, вы должны добавить метод optional

query('queryObject')
.optional({checkFalsy: true}).isLength({ min: 5, max:35 })

Таким образом, /tableref?event=example запрос довольно действителен.

...