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 相关文章推荐
打造计数器DIY三步曲(上)
Oct 09 PHP
PHP字符串处理的10个简单方法
Jun 30 PHP
过滤掉PHP数组中的重复值的实现代码
Jul 17 PHP
关于PHP内存溢出问题的解决方法
Jun 25 PHP
避免Smarty与CSS语法冲突的方法
Mar 02 PHP
分享五个PHP7性能优化提升技巧
Dec 07 PHP
Symfony模板的快捷变量用法实例
Mar 17 PHP
phpmailer简单发送邮件的方法(附phpmailer源码下载)
Jun 13 PHP
php unicode编码和字符串互转的方法
Aug 12 PHP
Yii 使用intervention/image拓展实现图像处理功能
Jun 22 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
Jul 18 PHP
PHP配置文件php.ini中打开错误报告的设置方法
Jan 09 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
无数据库的详细域名查询程序PHP版(2)
2006/10/09 PHP
php压缩多个CSS为一个css的代码并缓存
2011/04/21 PHP
php缩小png图片不损失透明色的解决方法
2013/12/25 PHP
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
2015/08/23 PHP
使用php+swoole对client数据实时更新(一)
2016/01/07 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
jquery实现select选中行、列合计示例
2014/04/25 Javascript
在JavaScript中重写jQuery对象的方法实例教程
2014/08/25 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
2016/01/03 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
vue-music 使用better-scroll遇到轮播图不能自动轮播问题
2018/12/03 Javascript
Layui动态生成select下拉选择框不显示的解决方法
2019/09/24 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
详解Webpack4多页应用打包方案
2020/07/16 Javascript
JavaScript代码模拟鼠标自动点击事件示例
2020/08/07 Javascript
[56:47]Ti4 循环赛第三日 iG vs Liquid
2014/07/12 DOTA
[01:46]2018完美盛典章节片——坚守
2018/12/17 DOTA
Python使用multiprocessing创建进程的方法
2015/06/04 Python
Python实现的redis分布式锁功能示例
2018/05/29 Python
我喜欢你 抖音表白程序python版
2019/04/07 Python
Python pip替换为阿里源的方法步骤
2019/07/02 Python
Python字符串格式化输出代码实例
2019/11/22 Python
通过实例简单了解python yield使用方法
2020/08/06 Python
CSS3关于z-index不生效问题的解决
2020/02/19 HTML / CSS
安踏官方商城:anta.cn
2019/12/16 全球购物
在C语言中"指针和数组等价"到底是什么意思?
2014/03/24 面试题
优秀毕业生推荐信
2013/11/02 职场文书
经济管理专业自荐信
2013/12/30 职场文书
四年级下册教学反思
2014/02/01 职场文书
广告词串烧
2014/03/19 职场文书
给学校的建议书范文
2014/05/15 职场文书
师德师风自我剖析材料
2014/09/27 职场文书
初中生散播谣言检讨书
2014/11/17 职场文书
2014初中数学教研组工作总结
2014/12/19 职场文书
居安思危观后感
2015/06/11 职场文书
HTML CSS 一个标签实现带动画的抖音LOGO
2022/04/26 HTML / CSS