Как добавить проверку с помощью expressjs для cgpa - PullRequest
0 голосов
/ 28 апреля 2018
req.checkBody('cgpa','cgpa is required').notEmpty();

Мне нужно добавить проверку в cgpa, чтобы проверить, что cgpa должно быть меньше 4. как мне это сделать? Я использую валидатор expressjs Спасибо.

1 Ответ

0 голосов
/ 29 апреля 2018

Вы можете использовать экспресс-валидатор х custom(validator)

Пользовательский валидатор также может выдавать исключения JavaScript (например, throw new Error ()) и возвращать ложные значения, чтобы указать, что поле недопустимо.

Вы можете установить его как любое другое промежуточное программное обеспечение Express

'use strict';

let http = require('http');
let express = require('express');

let app = express();
let bp = require('body-parser');

app.use(bp.json());
app.use(bp.urlencoded({
  extended: false
}));

let server = http.createServer(app);
const {check, validationResult} = require('express-validator/check');

const PORT = 8888;
server.listen(PORT, () => {

  console.log(`Server is up at ${PORT}`);

  app.post('/foo', [

    check('cgpa').exists().custom((value) => {
      return value < 4;
    }).withMessage('CGPA should be less than 4')

  ], (req, res) => {

    const errors = validationResult(req);
    if (!errors.isEmpty()) {
      return res.status(422).json({
        errors: errors.mapped()
      });
    }

    return res.status(200).send({
      msg: 'Hello world'
    });
  });

});

Если cgpa <4, ответ будет </p>

{ "msg": "Привет, мир" }

Если cgpa> 4, ответом будет ошибка

{ "ошибки": { "cgpa": { "местоположение": "тело", "param": "cgpa", «значение»: 43, msg: CGPA должно быть меньше 4 } } }

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