宇阳 一直对网站开发领域很感兴趣,从小就希望有一个属于自己的网站,在17年时候成功进入站长圈,并通过各种自学,以及各种折腾,才有了你现在看到的这个网站
歌曲封面 未知作品

网站已运行 5 年 91 天 20 小时 17 分

Powered by Typecho & Sunny

2 online · 61 ms

Title

Nodejs 表单数据校验 Joi

宇阳

·

Article
⚠️ 本文最后更新于2022年10月09日,已经过了558天没有更新,若内容或图片失效,请留言反馈

Nodejs 表单数据校验 Joi

安装

♾️ bash 代码:
npm i joi

示例

string 规定字符串类型
alphanum 字母与数字组合
min(6).max(16) 最少6位 最大16位数
required 必填
pattern 这里可以写正则表达式

♾️ javascript 代码:
const Joi = require('joi');

const schema = Joi.object({
    // 用户名规定为6 ~ 16位的字符串
    username: Joi.string().alphanum().min(6).max(16).required(),
    // 密码规定为6 ~ 30 位数a-z、A-Z、0-9的组合
    password: Joi.string().pattern(new RegExp('^[a-zA-Z0-9]{6,30}$')),
})

let res = schema.validate({ username: 'admin888', password: '123123' });
console.log(res);

数据校验

成功

数据校验成功则返回用户名与密码

♾️ javascript 代码:
let res = schema.validate({ username: 'admin888', password: '123123' });
console.log(res);
// { value: { username: 'admin888', password: '123123' } }

失败

用户名少一位数,校验失败

♾️ javascript 代码:
let res = schema.validate({ username: 'admin', password: '123123' });
console.log(res.error.details[0].message);
// "username" length must be at least 6 characters long

Joi官网: https://joi.dev/api/?v=17.6.1

现在已有 0 条评论,0 人点赞
Comment
发表
搜 索 消 息 足 迹
你还不曾留言过..
你还不曾留下足迹..
博主