📅  最后修改于: 2023-12-03 15:08:13.450000             🧑  作者: Mango
express-validator 是一个基于 Express.js 的中间件,提供了一种验证输入格式的方法,方便开发人员进行表单验证、输入验证等操作。
在本文中,我们将介绍如何使用 express-validator 去验证输入字段中的输入是否具有有效的十六进制颜色。
npm install express-validator --save
const express = require('express');
const { body, validationResult } = require('express-validator');
const app = express();
app.use(express.urlencoded({ extended: true }));
app.use(express.json());
app.use(expressValidator());
app.post('/validate/color',
body('color').matches(/^#([0-9a-f]{3}|[0-9a-f]{6})$/i),
(req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(422).json({ errors: errors.array() });
}
res.json({ message: 'Color is valid.' });
});
{
"color": "#fff"
}
如果颜色合法,将会返回以下 JSON 数据:
{
"message": "Color is valid."
}
如果颜色不合法,将会返回以下错误信息:
{
"errors": [
{
"msg": "Invalid value",
"param": "color",
"location": "body"
}
]
}
在本文中,我们使用了 express-validator 进行了输入字段验证,以确保输入的颜色为十六进制颜色格式。在您的项目中,可以将验证器应用于其他类型的输入(如电子邮件地址、电话号码等)。