Вы можете использовать экспресс-валидатор х 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
}
}
}