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 相关文章推荐
文章推荐系统(三)
Oct 09 PHP
计数器详细设计
Oct 09 PHP
让你同时上传 1000 个文件 (二)
Oct 09 PHP
表格展示无限级分类(PHP版)
Aug 21 PHP
PHP缓存机制Output Control详解
Jul 14 PHP
Laravel 5框架学习之向视图传送数据
Apr 08 PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
Mar 25 PHP
php事件驱动化设计详解
Nov 10 PHP
PHP批量删除jQuery操作
Jul 23 PHP
php 中phar包的使用教程详解
Oct 26 PHP
php根据地址获取百度地图经纬度的实例方法
Sep 03 PHP
TP5框架安全机制实例分析
Apr 05 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
什么是短波收听SWL
2021/03/01 无线电
php输入流php://input使用示例(php发送图片流到服务器)
2013/12/25 PHP
php打印一个边长为N的实心和空心菱型的方法
2015/03/02 PHP
Yii框架getter与setter方法功能与用法分析
2019/10/22 PHP
文字幻灯片
2006/06/26 Javascript
javascript function、指针及内置对象
2009/02/19 Javascript
Javascript图像处理—亮度对比度应用案例
2013/01/03 Javascript
JQuery切换显示的效果实例代码
2013/02/27 Javascript
JS中的THIS和WINDOW.EVENT.SRCELEMENT详解
2015/05/25 Javascript
JS实现简单路由器功能的方法
2015/05/27 Javascript
jQuery实现垂直半透明手风琴特效代码分享
2015/08/21 Javascript
jQuery实现百叶窗焦点图动画效果代码分享(附源码下载)
2016/03/14 Javascript
Vue制作Todo List网页
2017/04/26 Javascript
jquery实现图片上传前本地预览
2017/04/28 jQuery
关于Bootstrap按钮组件消除黄框的方法
2017/05/19 Javascript
使用mint-ui开发项目的一些心得(分享)
2017/09/07 Javascript
vue中的scope使用详解
2017/10/29 Javascript
详解如何实现一个简单的Node.js脚手架
2017/12/04 Javascript
JS实现给数组对象排序的方法分析
2019/06/24 Javascript
微信小程序自定义弹出层效果
2020/05/26 Javascript
vue实现自定义多选按钮
2020/07/16 Javascript
解决vue的touchStart事件及click事件冲突问题
2020/07/21 Javascript
Python正则表达式经典入门教程
2017/05/22 Python
python使用PIL模块获取图片像素点的方法
2019/01/08 Python
django中间键重定向实例方法
2019/11/10 Python
深入浅析python变量加逗号,的含义
2020/02/22 Python
python实现人机五子棋
2020/03/25 Python
python爬虫爬取图片的简单代码
2021/01/18 Python
Sneaker Studio匈牙利:购买运动鞋
2018/03/26 全球购物
CAT鞋加拿大官网:CAT Footwear加拿大
2020/08/05 全球购物
颁奖典礼主持词
2014/03/25 职场文书
优秀班主任材料
2014/12/16 职场文书
单位实习介绍信
2015/05/05 职场文书
黑暗中的舞者观后感
2015/06/18 职场文书
烈士陵园扫墓感想
2015/08/07 职场文书
Python+Pillow+Pytesseract实现验证码识别
2022/05/11 Python