node.js 如何验证表单
2022/7/10 1:22:40
本文主要是介绍node.js 如何验证表单,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
# 表单验证
第一步
安装 npm i joi
安装 npm i @escook/express-joi
创建一个文件夹名为schema文件名为user.js
里面引入 const joi = require('joi')
验证的几个api
* string() 值必须是字符串
* alphanum() 值只能是包含 a-zA-Z0-9 的字符串
* min(length) 最小长度
* max(length) 最大长度
* required() 值是必填项,不能为 undefined
* pattern(正则表达式) 值必须符合正则表达式的规则
用户名的验证规则
const username = joi.string().alphanum().min(1).max(10).required()
密码的验证规则
const password = joi.string().pattern(/^[\S]{6,12}$/).required()
// 注册和登录表单的验证规则对象
exports.reg_login_schema = {
// 表示需要对 req.body 中的数据进行验证
body: {
username,
password,
},
query:{
},
params:{
}
}
第二步
在第一个路由中导入验证的中间件
// 1. 导入验证表单数据的中间件
const expressJoi = require('@escook/express-joi')
// 2. 导入需要的验证规则对象
const { reg_login_schema } = require('../schema/user')
3.在接口中间加上 expressJoi(reg_login_schema)
router.post('/reguser',expressJoi(reg_login_schema),userHandler.regUser)
第三步
最后在app.js中写报错中间件
app.use(function (err, req, res, next) {
// 数据验证失败
if (err instanceof joi.ValidationError) return res.cc(err)
// 未知错误
res.cc(err)
})
这篇关于node.js 如何验证表单的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15useCallback教程:React Hook入门与实践
- 2024-11-15React中使用useContext开发:初学者指南
- 2024-11-15拖拽排序js案例详解:新手入门教程
- 2024-11-15React中的自定义Hooks案例详解
- 2024-11-14受控组件项目实战:从零开始打造你的第一个React项目
- 2024-11-14React中useEffect开发入门教程
- 2024-11-14React中的useMemo教程:从入门到实践
- 2024-11-14useReducer开发入门教程:轻松掌握React中的useReducer
- 2024-11-14useRef开发入门教程:轻松掌握React中的useRef用法
- 2024-11-14useState开发:React中的状态管理入门教程