2.2新增用户
1. 为用户列表页面的新增用户按钮添加链接
2. 添加一个连接对应的路由,在路由处理函数中渲染新增用户模板
3 .为新增用户表单指定请求地址、请求方式、为表单项添加name属性
4. 增加实现添加用户的功能路由
登录后点击新增用户→提交
5. 接收到客户端传递过来的请求参数
6. 对请求参数的格式进行验证
使用第三方模块Joi
Joi
JavaScript对象的规则描述语言和验证器。
报错信息:TypeError: Joi.Validate is not a function
解决方式:
https://www.cnblogs.com/aimilu/p/13455783.html
user-edit-fn.js:
//引入joi模块
const e = require('express');
const Joi = require('joi');
module.exports = async(req, res) => {
//定义对象的验证规则
const schema = {
username: Joi.string().min(2).max(12).required().error(new Error('用户名不符合验证规则')),
email: Joi.string().email().required().error(new Error('用户名不符合验证规则')),
password: Joi.string().regex(/^[a-zA-Z0-9
]{3,30}$/).required().error(new Error('密码格式不符合要求')),
role: Joi.string().valid('normal', 'admin').required().error(new Error('角色值非法')),
state: Joi.number().valid(0, 1).required().error(new Error('状态值非法'))
};
try {
//实施验证
await Joi.validate(req.body, schema);
} catch (e) {
//验证没有通过
// e.message
//重定向回用户添加页面
res.redirect('/admin/user-edit?message=${e.message}');
}
res.send(req.body);
}
7. 验证当前要注册的邮箱地址是否已经注册过
8. 对密码进行加密处理
9. 将用户信息添加到数据库中
10. 重定向页面到用户列表页面
优化代码:
(1)将验证代码从路由模块抽离到model的用户模块
验证网页功能是否正常运行
(2)优化验证错误重定向代码
优化:
验证网页功能是否正常运行
11.将用户信息展示在页面当中:
成功登录后
(下面*操作只是为了方便查看数据,可以不弄)
***********************************************************************************
输入chrome://flags/#extensions-on-chrome-urls
重新打开谷歌浏览器
把json formatter.crx文件拖动进去即可安装插件
***********************************************************************************
(上面*操作只是为了方便查看数据,可以不弄)