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 相关文章推荐
使用sockets:从新闻组中获取文章(二)
Oct 09 PHP
PHP 文件上传全攻略
Apr 28 PHP
php设计模式 Visitor 访问者模式
Jun 28 PHP
smarty巧妙处理iframe中内容页的代码
Mar 07 PHP
深入理解PHP中的Session和Cookie
Jun 21 PHP
PHP将HTML转换成文本的实现代码
Jan 21 PHP
Smarty中的注释和截断功能介绍
Apr 09 PHP
php生成唯一数字id的方法汇总
Nov 18 PHP
php截取视频指定帧为图片
May 16 PHP
既简单又安全的PHP验证码 附调用方法
Jun 02 PHP
php实现解析xml并生成sql语句的方法
Feb 03 PHP
Laravel框架学习笔记之批量更新数据功能
May 30 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
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
浏览器无法运行JAVA脚本的解决方法
2008/01/09 Javascript
EXT中xtype的含义分析
2010/01/07 Javascript
js函数setTimeout延迟执行的简单介绍
2013/07/17 Javascript
转换字符串为json对象的方法详解
2013/11/29 Javascript
利用jQuary实现文字浮动提示效果示例代码
2013/12/26 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
2014/02/19 Javascript
用javascript关闭本窗口技巧小结
2014/09/05 Javascript
解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
2015/12/10 Javascript
基于JS实现省市联动效果代码分享
2016/06/06 Javascript
Jquery组件easyUi实现表单验证示例
2016/08/23 Javascript
详解jQuery中基本的动画方法
2016/12/14 Javascript
js实现延迟加载的几种方法
2017/04/24 Javascript
Vue中使用vux的配置详解
2017/05/05 Javascript
vue-loader教程介绍
2017/06/14 Javascript
jQuery.validate.js表单验证插件的使用代码详解
2018/10/22 jQuery
vue-cli 打包后提交到线上出现 &quot;Uncaught SyntaxError:Unexpected token&quot; 报错
2018/11/06 Javascript
小程序实现搜索框
2020/06/19 Javascript
Vue基于iview table展示图片实现点击放大
2020/08/05 Javascript
[01:59]翻天覆地,因你而变,7.20版本地图更新速览
2018/11/24 DOTA
用Python设计一个经典小游戏
2017/05/15 Python
详解python之配置日志的几种方式
2017/05/22 Python
详解PyTorch中Tensor的高阶操作
2019/08/18 Python
Python找出列表中出现次数最多的元素三种方式
2020/02/24 Python
python的sys.path模块路径添加方式
2020/03/09 Python
给Django Admin添加验证码和多次登录尝试限制的实现
2020/07/26 Python
Python通用唯一标识符uuid模块使用案例
2020/09/10 Python
发现两个有趣的CSS3动画效果
2013/08/14 HTML / CSS
用HTML5中的Canvas结合公式绘制粒子运动的教程
2015/05/08 HTML / CSS
波兰灯具、照明和LED购物网站:Lampy.pl
2019/03/11 全球购物
SIMON MILLER官网:洛杉矶的生活方式品牌
2020/10/19 全球购物
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
四风问题自查报告剖析材料
2014/02/08 职场文书
校园公益广告语
2014/03/13 职场文书
javascript canvas实现雨滴效果
2021/06/09 Javascript
mysql中int(3)和int(10)的数值范围是否相同
2021/10/16 MySQL