云图网
  • 业界资讯
  • 技术专区
    • 云计算
    • 人工智能
    • 信息安全
    • 大数据
    • 研发管理
    • 大前端
    • 开源
    • 智能运维
    • 编程笔记
    • WordPress
  • 企业战略规划
  • 下载专区
  • 江湖史
  • 随笔记录
登录 注册
投稿
  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

相关推荐

  • python centos7安装python3 2022年9月9日
  • vue引用并使用本地js(局部引用,全局引用) 2022年8月5日
  • JavaScript学习笔记 第五章 函数 2022年7月9日
  • 【深入浅出 Yarn 架构与实现】3-2 Yarn Client 编写 _ 2022年11月18日
  • 递归 解决 Cascader 子数据回显 2022年7月26日
  • 【瑞数5】浅谈维普期刊JS逆向的环境检测点 2022年7月11日
  • springmvc进行重定向会在路径上自动加上项目名 2022年6月24日
  • [转]XML Schema 与 XML DTD的技术比较与分析 2021年8月25日
  • Array find() 方法如何在 JavaScript 中工作 2022年12月27日
  • JS 逆向解析爬虫 2022年4月17日

发表回复

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

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

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