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 相关文章推荐
BBS(php &amp; mysql)完整版(八)
Oct 09 PHP
PHP音乐采集(部分代码)
Feb 14 PHP
php session 检测和注销
Mar 16 PHP
PHP开发负载均衡指南
Jul 17 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
Nov 10 PHP
PHP批量上传图片的具体实现方法介绍.
Feb 26 PHP
PHP实现设计模式中的抽象工厂模式详解
Oct 11 PHP
微信公众平台接口开发入门示例
Dec 24 PHP
PHP实现的json类实例
Jul 28 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
Dec 22 PHP
CI框架常用函数封装实例
Nov 21 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
Oct 18 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 高手之路(三)
2006/10/09 PHP
PHP多线程批量采集下载美女图片的实现代码(续)
2013/06/03 PHP
php使用MySQL保存session会话的方法
2015/06/18 PHP
php计算整个mysql数据库大小的方法
2015/06/19 PHP
PHP简单处理表单输入的特殊字符的方法
2016/02/03 PHP
yii2 页面底部加载css和js的技巧
2016/04/21 PHP
利用switch语句进行多选一判断的实例代码
2016/11/14 PHP
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
2019/10/16 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
基于jquery的点击链接插入链接内容的代码
2012/07/31 Javascript
有关于JS构造函数的重载和工厂方法
2013/04/07 Javascript
jQuery根据ID获取input、checkbox、radio、select的示例
2014/08/11 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
JavaScript面向对象编写购物车功能
2016/08/19 Javascript
JavaScript-html标题滚动效果的简单实现
2016/09/08 Javascript
Angular中响应式表单的三种更新值方法详析
2017/08/22 Javascript
JS+CSS实现网页加载中的动画效果
2017/10/27 Javascript
vue根据值给予不同class的实例
2018/09/29 Javascript
vue+eslint+vscode配置教程
2019/08/09 Javascript
用VsCode编辑TypeScript的实现方法
2020/05/07 Javascript
关于vue 项目中浏览器跨域的配置问题
2020/11/10 Javascript
python获取网页状态码示例
2014/03/30 Python
使用Python中PDB模块中的命令来调试Python代码的教程
2015/03/30 Python
以Flask为例讲解Python的框架的使用方法
2015/04/29 Python
Python处理JSON时的值报错及编码报错的两则解决实录
2016/06/26 Python
Python 获得命令行参数的方法(推荐)
2018/01/24 Python
浅谈tensorflow1.0 池化层(pooling)和全连接层(dense)
2018/04/27 Python
Django csrf 验证问题的实现
2018/10/09 Python
python得到qq句柄,并显示在前台的方法
2018/10/14 Python
Mac 使用python3的matplot画图不显示的解决
2019/11/23 Python
Python request操作步骤及代码实例
2020/04/13 Python
Easy Spirit官网:美国休闲鞋履中的代表品牌
2019/04/12 全球购物
Linux管理员面试经常问道的相关命令
2013/04/29 面试题
超市理货员岗位职责
2014/07/04 职场文书
小学师德师风演讲稿
2014/09/02 职场文书
解决Python中的modf()函数取小数部分不准确问题
2021/05/28 Python