Yii2框架博客系统登录注册

简介部分

 

1. model与Form的区别

 

    model是映射数据表的结构

 

    Form是映射input框 表单模型的映射

释义

举个例子:比如数据库字段中没有重复密码的字段 而在前端html我们需要借助js等验证方式来确认密码两次输入的正确性 此时 我们只需要在modelForm中定义这个变量(重复密码),而不需要在model(数据表的映射)中加入    

 

 

2. 完善注册功能

 

添加确认密码方法
    1.在m..Form中定义确认密码的公共变量

 

    2.在rules操作中作为限制级 将规则写入 且规则保证密码与确认密码必填和一致

 

    代码  [['password','rePassword'],'required'],       #前提一定要定义确认密码的变量
            [['password', 'rePassword'], 'string', 'min' => 6],   





添加验证码方法
    1.在m..Form中定义验证码的变量

 

    2.在rules操作中写入captcha

 

    代码 如下图





经过以上两个model层处理 将数据映射到视图层view
    需要注意的是 调用了验证码的组件 所以要使用验证码的命名空间  use yii\captcha\Captcha;
    验证码 前台展示代码 <?= $form->field($model, 'verifyCode')->widget(Captcha::className()) ?>  widget引入验证码组件
    确认密码 前台展示代码 <?= $form->field($model, 'rePassword')->passwordInput() ?>






拓展 : 为了避免用户名有规则并且不易灌水 可以添加正则来限制用户输入不正确的用户名 提高整体效率 示范代码如下
    ['username', 'match','pattern'=>'/^[(\x{4E00}-\x{9FA5})a-zA-Z]+[(\x{4E00}-\x{9FA5})a-zA-Z_\d]*$/u','message'=>'用户名由字母,汉字,数字,下划线组成,且不能以数字和下划线开头。'],

 

示例图

 

 

 

 

最终效果

 

 

 

 

完成!

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值