Say you have a POST endpoint that accepts the name, email and age parameters:
假设您有一个POST端点,可以接受名称,电子邮件和年龄参数:
const express = require('express')
const app = express()
app.use(express.json())
app.post('/form', (req, res) => {
const name = req.body.name
const email = req.body.email
const age = req.body.age
})
How do you perform server-side validation on those results to make sure:
如何对这些结果执行服务器端验证,以确保:
- name is a string of at least 3 characters? 名称是至少3个字符的字符串吗?
- email is a real email? 电子邮件是真实的电子邮件吗?
- age is a number, between 0 and 110? 年龄是一个数字,介于0到110之间?
The best way to handle validation on any kind of input coming from outside in Express is by using the express-validator
package:
处理Express中来自外部的任何输入的验证的最佳方法是使用express-validator
包 :
npm install express-validator
You require the check
and validationResult
objects from the package:
您需要包装中的check
和validationResult
对象:
const { check, validationResult } = require('express-validator');
We pass an array of check()
calls as the second argument of the post()
call. Every check(