云图网
  • 业界资讯
  • 技术专区
    • 云计算
    • 人工智能
    • 信息安全
    • 大数据
    • 架构设计
    • 研发管理
    • 物联网
    • 数据库
    • 区块链
    • 大前端
    • 开源
    • 移动开发
    • Java
    • linux专区
    • PHP
    • python
    • 智能运维
    • 编程笔记
    • 编程教程
    • WordPress
  • AIGC
  • 企业战略规划
  • 下载专区
  • 江湖史
  • 随笔记录
登录 注册
投稿
  1. 云图网首页
  2. 技术专区
  3. 编程笔记

node.js 如何验证表单

2022年7月10日 02:26 • 编程笔记


# 表单验证

第一步
安装 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)
})

原创文章,作者:wdmbts,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/273215.html

constJSloginNoderegschema表单验证
赞 (0)
0 0
生成海报
[C++]用类模板实现链表类
上一篇 2022年7月10日 02:26
JS/TS算法—状态压缩
下一篇 2022年7月10日 02:26

相关推荐

  • sqli-labs 2022年7月23日
  • tensorflow.js基本使用 线性回归(一) 2022年6月29日
  • 如何定义一个高逼格的原生JS插件 2022年4月17日
  • JavaScript基础(变量、数据类型) 2022年8月1日
  • js冒泡、选择、插入排序 2022年6月14日
  • 【面试经验分享】2022 前端知识复习——JavaScript 篇 2022年7月21日
  • vue2升级vue3:webpack vue-loader 打包配置 2022年6月21日
  • C和C++的一处小知识点(小坑) 2022年8月22日
  • js之大文件断点续传 2022年7月22日
  • JS 逆向解析爬虫 2022年4月17日

发表回复

请登录后评论...
登录后才能评论
  • 欢迎投稿
  • 隐私政策
  • 使用协议
  • 服务条款
  • 版权声明

Copyright © 2006-2025 YTSO.COM 版权所有 鲁ICP备15002310号-3 Powered by WordPress

免责声明:本站信息来自互联网收集分享,版权归原创者所有,如果侵犯了您的权益,请发邮件给39941211@qq.com通知我们删除.