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在Web开发领域的优势
Oct 09 PHP
PHP中$_SERVER的详细参数与说明
Jul 29 PHP
VIM中设置php自动缩进为4个空格的方法详解
Jun 14 PHP
JoshChen_php新手进阶高手不可或缺的规范介绍
Aug 16 PHP
php对称加密算法示例
May 07 PHP
ThinkPHP3.1新特性之命名范围的使用
Jun 19 PHP
php生成固定长度纯数字编码的方法
Jul 09 PHP
PHP提高编程效率的20个要点
Sep 23 PHP
WordPress分页伪静态加html后缀
Jun 08 PHP
PHP实现简易计算器功能
Aug 28 PHP
PHP抽象类与接口的区别实例详解
May 09 PHP
使用laravel根据用户类型来显示或隐藏字段
Oct 17 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 array_walk() 数组函数
2011/07/12 PHP
PHP函数积累总结
2019/03/19 PHP
javascript生成随机数的方法
2014/05/16 Javascript
JS倒计时代码汇总
2014/11/25 Javascript
jQuery实现的兼容性浮动层示例
2016/08/02 Javascript
轻松实现js弹框显示选项
2016/09/13 Javascript
jQuery实现的右下角广告窗体跟随效果示例
2016/09/16 Javascript
Angular2使用Angular-CLI快速搭建工程(二)
2017/05/21 Javascript
详解Nodejs内存治理
2018/05/13 NodeJs
详解react阻止无效重渲染的多种方式
2018/12/11 Javascript
详解Vue之父子组件传值
2019/04/01 Javascript
浅谈layui里的上传控件问题
2019/09/26 Javascript
es6函数之尾递归用法实例分析
2020/04/25 Javascript
Vue文本模糊匹配功能如何实现
2020/07/30 Javascript
Python简单获取二维数组行列数的方法示例
2018/12/21 Python
局域网内python socket实现windows与linux间的消息传送
2019/04/19 Python
PyCharm+Qt Designer+PyUIC安装配置教程详解
2019/06/13 Python
Python3查找列表中重复元素的个数的3种方法详解
2020/02/13 Python
Python日志syslog使用原理详解
2020/02/18 Python
python创建文本文件的简单方法
2020/08/30 Python
Python APScheduler执行使用方法详解
2020/12/10 Python
python urllib和urllib3知识点总结
2021/02/08 Python
贝玲妃美国官方网站:Benefit美国
2016/08/28 全球购物
自荐信格式的六要素
2013/09/21 职场文书
高中军训感想800字
2014/02/23 职场文书
《阳光》教学反思
2014/02/23 职场文书
学习党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
党员个人党性分析材料
2014/12/18 职场文书
大学生团员个人总结
2015/02/14 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书
2016社区平安家庭事迹材料
2016/02/26 职场文书
python爬虫--selenium模块
2021/03/31 Python
MySQL 常见存储引擎的优劣
2021/06/02 MySQL
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
2021/06/07 Python
面试被问select......for update会锁表还是锁行
2021/11/11 MySQL
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电