Nodejs 表单数据校验 Joi
安装
npm i joi
示例
string
规定字符串类型alphanum
字母与数字组合min(6).max(16)
最少6位 最大16位数required
必填pattern
这里可以写正则表达式
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);
数据校验
成功
数据校验成功则返回用户名与密码
let res = schema.validate({ username: 'admin888', password: '123123' });
console.log(res);
// { value: { username: 'admin888', password: '123123' } }
失败
用户名少一位数,校验失败
let res = schema.validate({ username: 'admin', password: '123123' });
console.log(res.error.details[0].message);
// "username" length must be at least 6 characters long
链接: http://www.bylemon.cn
描述: 嘿,我在这~
头像: http://www.bylemon.cn/favicon.ico已经添加贵站,望互关~