web前端 | 博客(五)新增用户功能

新增用户功能

  1. 为新增用户按钮添加链接,点击新增用户按钮切换到新增用户界面
  2. 在服务器端添加一个链接对应路由,在路由处理函数中渲染新增用户模板
  3. 在新增用户界面,需要为新增用户表单指定请求地址,当点击提交按钮时,将表单提交到这个地址;还需要为表单指定请求方式(Post,属于向数据库插入数据的操作);还需要为每一个表单项指定name属性,在服务器端通过name属性接收客户端传递过来的请求参数。当前客户端的验证在服务器端做(这里暂时忽略)
  4. 在服务器端添加实现添加用户的功能路由
  5. 接收客户端传递过来的请求参数
  6. 对请求参数的格式进行验证
  7. 验证当前要注册的邮箱地址是否已经注册过
  8. 对密码进行加密处理
  9. 将用户信息添加到数据库中
  10. 重定向页面到用户列表页面

为新增用户按钮添加链接

在views/admin下的user.art文件中找到新增用户的按钮,把按钮的链接指定为href="/admin/user-edit"
现在链接已经有了,需要到服务器端新增链接所对应的路由。
在route文件夹下的admin.js文件中创建用户编辑界面的路由。
在路由请求函数中,添加res.render('admin/user-edit');渲染用户编辑界面的路由。

此后,点击新增用户按钮就会跳转到新增用户界面了。

为新增用户表单指定请求地址、请求方式和表单项的name属性

在user-edit模板中找到表单的<from>标签,添加请求地址action="/admin/user-edit"和请求方式method="post"
指定表单项的name属性(最好与数据库中的字段名字保持一致)
数据库中的字段名如下:
在这里插入图片描述
由此依次指定表单项input标签的name值。
需要注意,select标签下的option需要指定value值,提交时的参数的值就是选择的value值。

在服务器端添加实现添加用户的功能路由

admin.post('/user-edit', require('./admin/user-edit-fn'));
此时如果在请求函数中添加
res.send(req.body);
那么,在表单提交时,将会在页面显示提交表单的信息。

试用Joi:验证表单

接下来借助第三方模块Joi,去验证表单。

Joi是JavaScript对象的规则描述语言和验证器,提供不同的语法,可以在代码中自由组合起来,形成最终符合要求的验证规则。

const Joi = require('joi');
const schema = {
   
}
Joi.validate({
    username: 'abc', birthyear: 1994}, schema);

schema的值是一个对象,在对象内部定义的就是验证规则。在当前的对象规则中,存储了若干属性。表示即将验证的对象中的属性只能出现规则中定义的属性。如果要验证的对象的属性中出现了规则以外的属性,验证将会失败。
Joi.string()表示字符串必须是字符串类型的,如果属性值存储了其他类型的值,验证将不能通过。
.alphanum()表示只能是字母字符串或者是数字字符串,不能包含其他特殊字符,比如_$之类的。
.min() .max()表示字符串的最小长度和最大长度
requireed()这个属性是一个必选属性。默认情况下ÿ

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值