Yii2 如何在modules中添加验证码的方法


Posted in PHP onJune 19, 2017

最近玩了下Yii2的验证码部分,正常的逻辑都可以走通的,网上的例子也是没有问题的,关键有问题的部分是在module中使用的时候,分享给大家,往下看之前可以去看看正常情况下是如何使用的。

controller部分的代码,这里的跟网上的都类似

public function actions()
{
  return [
    'captcha' => [
      'class' => 'yii\captcha\CaptchaAction',
      'fixedVerifyCode' => null,
      'backColor' => 0x000000, //背景颜色
      'maxLength' => 6, //最大显示个数
      'minLength' => 5, //最少显示个数
      'padding' => 5, //间距
      'height' => 40, //高度
      'width' => 130, //宽度
      'foreColor' => 0xffffff, //字体颜色
      'offset' => 4, //设置字符偏移量 有效果
    ],
  ];
}

model 部分的代码【这里是需要注意的】

public function rules()
{
  return [
    ['username', 'required', 'message' => '登录账号不能为空'],
    ['password', 'required', 'message' => '登录密码不能为空'],
    ['verifyCode', 'required', 'message' => '验证码不能为空'],
    ['verifyCode', 'captcha', 'captchaAction' => 'admin/default/captcha', 'message' => '验证码输入错误'],
    ['rememberMe', 'boolean'],
    ['password', 'validatePassword'],
  ];
}

rules中的verifyCode,需要加一个captchaAction对应的值,不然会出现验证码验证不通过,而且验证码的的数字也不会变化,原因应该是默认使用了site/captcha导致的

view部分的代码【由于php跟html的混排导致我无法忍受页面样式的混乱排版,所以尽量将参数配置部分拿出来】

$captchaConfig = [
  'name' => 'captchaimg',
  'captchaAction' => ['/admin/default/captcha'],
  'template' => '<div class="form-group"><div>{image}</div></div>',
  'imageOptions' => [
    'id' => 'captchaimg',
    'title' => '换一个',
    'alt' => '换一个',
    'style' => 'cursor:pointer;margin-left:25px;',
  ],
];
<?=Captcha::widget($captchaConfig);?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php基础知识:类与对象(2) 自动加载对象
Dec 13 PHP
[原创]效率较高的php下读取文本文件的代码
Jul 02 PHP
PHP三元运算符的结合性介绍
Jan 10 PHP
php多个字符串替换成同一个的解决方法
Jun 18 PHP
PHP多例模式介绍
Jun 24 PHP
ThinkPHP模板之变量输出、自定义函数与判断语句用法
Nov 01 PHP
使用php转义输出HTML到JavaScript
Mar 27 PHP
php版微信公众平台接口开发之智能回复开发教程
Sep 22 PHP
php抽象方法和抽象类实例分析
Dec 07 PHP
Laravel如何创建服务器提供者实例代码
Apr 15 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 PHP
YII2 全局异常处理深入讲解
Mar 24 PHP
PHP实现的简单操作SQLite数据库类与用法示例
Jun 19 #PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
Jun 19 #PHP
PHP利用Socket获取网站的SSL证书与公钥
Jun 18 #PHP
php实现批量上传数据到数据库(.csv格式)的案例
Jun 18 #PHP
PHP更安全的密码加密机制Bcrypt详解
Jun 18 #PHP
Laravel中log无法写入问题的解决
Jun 17 #PHP
php下载远程大文件(获取远程文件大小)的实例
Jun 17 #PHP
You might like
ci检测是ajax还是页面post提交数据的方法
2014/11/10 PHP
php无限级分类实现方法分析
2016/10/19 PHP
php适配器模式简单应用示例
2019/10/23 PHP
浅析document.createDocumentFragment()与js效率
2013/07/08 Javascript
jquery退出each循环的写法
2014/02/26 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
2015/10/26 Javascript
javascript给span标签赋值的方法
2015/11/26 Javascript
jQuery与js实现颜色渐变的方法
2016/12/30 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
2017/03/17 Javascript
解决浏览器会自动填充密码的问题
2017/04/28 Javascript
vue实现仿淘宝结账页面实例代码
2017/11/08 Javascript
JS实现字符串去重及数组去重的方法示例
2018/04/21 Javascript
nodejs更改项目端口号的方法
2018/05/13 NodeJs
nodejs图片处理工具gm用法小结
2018/12/12 NodeJs
如何使用Jquery动态生成二级选项列表
2020/02/06 jQuery
electron 如何将任意资源打包的方法步骤
2020/04/16 Javascript
[00:35]DOTA2上海特级锦标赛 Newbee战队宣传片
2016/03/03 DOTA
简要讲解Python编程中线程的创建与锁的使用
2016/02/28 Python
Python选课系统开发程序
2016/09/02 Python
Python文件操作基本流程代码实例
2017/12/11 Python
python实现音乐下载器
2018/04/15 Python
详解Python装饰器
2019/03/25 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
2019/03/30 Python
详解pycharm连接不上mysql数据库的解决办法
2020/01/10 Python
Python实现名片管理系统
2020/02/14 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
GWT都有什么特性
2016/12/02 面试题
高分子材料个人求职信范文
2013/09/25 职场文书
人事文员岗位职责
2014/02/16 职场文书
优秀学生干部先进事迹材料
2014/05/26 职场文书
常务副总经理任命书
2014/06/05 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
高中同学会活动方案
2014/08/14 职场文书
《周恩来的四个昼夜》观后思想汇报范文两篇
2014/09/10 职场文书
大学生入党群众意见书
2015/06/02 职场文书