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模板引擎SMARTY
Oct 09 PHP
PHPUnit PHP测试框架安装方法
Mar 23 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
Apr 30 PHP
destoon找回管理员密码的方法
Jun 21 PHP
PHP版微信公众平台红包API
Apr 02 PHP
php+ajax无刷新分页实例详解
Dec 07 PHP
php计划任务之验证是否有多个进程调用同一个job的方法
Dec 07 PHP
PHP培训要多少钱
Jun 06 PHP
thinkPHP框架实现的短信接口验证码功能示例
Jun 20 PHP
PHP笛卡尔积实现算法示例
Jul 30 PHP
Laravel中的chunk组块结果集处理与注意问题
Aug 15 PHP
Laravel 自带的Auth验证登录方法
Sep 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
长波知识介绍
2021/03/01 无线电
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
2012/01/03 PHP
php返回json数据函数实例
2014/10/09 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
javascript循环变量注册dom事件 之强大的闭包
2010/09/08 Javascript
简单漂亮的js弹窗可自由拖拽且兼容大部分浏览器
2013/10/22 Javascript
extJS中常用的4种Ajax异步提交方式
2014/03/07 Javascript
NodeJS Express框架中处理404页面一个方式
2014/05/28 NodeJs
Jquery简单实现GridView行高亮的方法
2015/06/15 Javascript
js事件驱动机制 浏览器兼容处理方法
2016/07/23 Javascript
JS实现的适合做faq或menu滑动效果示例
2016/11/17 Javascript
关于js函数解释(包括内嵌,对象等)
2016/11/20 Javascript
AngularJS打开页面隐藏显示表达式用法示例
2016/12/25 Javascript
canvas时钟效果
2017/02/16 Javascript
微信小程序 MD5的方法详解及实例代码
2017/03/10 Javascript
详解Vue使用 vue-cli 搭建项目
2017/04/20 Javascript
js+html5生成自动排列对话框实例
2017/10/09 Javascript
javascript中的隐式调用
2018/02/10 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
2018/04/12 jQuery
js+html5实现手机九宫格密码解锁功能
2018/07/30 Javascript
详解基于原生JS验证表单组件xy-form
2019/08/20 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
2019/10/25 Javascript
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
2021/02/26 Vue.js
[00:29]2019完美世界全国高校联赛(秋季赛)总决赛海口落幕
2019/12/10 DOTA
[47:46]完美世界DOTA2联赛 Magma vs GXR 第三场 11.07
2020/11/10 DOTA
linux系统使用python监测系统负载脚本分享
2014/01/15 Python
Python使用PIL库实现验证码图片的方法
2016/03/11 Python
在Linux命令行终端中使用python的简单方法(推荐)
2017/01/23 Python
linux安装Python3.4.2的操作方法
2018/09/28 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
Edwaybuy西班牙:小米在线商店
2019/12/04 全球购物
自我介绍演讲稿
2014/01/15 职场文书
2014年师德师风工作总结
2014/11/25 职场文书
培训督导岗位职责
2015/04/10 职场文书
2015年大学生暑期实习报告
2015/07/13 职场文书
html css3不拉伸图片显示效果
2021/06/07 HTML / CSS