@see  http://www.yiiframework.com/doc-2.0/yii-captcha-captcha.html

以下根据 MVC 模型的顺序来添加代码

1. model 层, 或者可以在默认的 LoginForm.php 上修改, 代码如下.

class LoginForm extends Model
{
// ......表示其他人码.
......
// 添加验证码属性字段
public $verifyCode;
...... public function rules()
{
return [
......
['verifyCode', 'captcha', 'captchaAction' => '/admin/login/captcha'],
......
];
}
}

如果使用默认 SiteController 控制器, 红包部分代码可不用填写, 如果使用其他比如我使用 http://my-domain.net/admin/login 控制器, 那红色部分就得添加了, 不然的话, 会提示

Exception (Invalid Configuration) 'yii\base\InvalidConfigException' with message 'Invalid CAPTCHA action ID: default/captcha'in E:\wamp\www\yii-application\vendor\yiisoft\yii2\captcha\CaptchaValidator.php:81

@see http://stackoverflow.com/questions/28497432/yii2-invalid-captcha-action-id-in-module

2. view 层, 属性设置参考  http://www.yiiframework.com/doc-2.0/yii-captcha-captcha.html, 代码如下

        <?= $form
->field($model, 'verifyCode')
->label(false)
->widget(Captcha::className(), [
'template' => '<div class="row"><div class="col-lg-6">{input}</div><div class="col-lg-3">{image}</div></div>',
'captchaAction' => 'login/captcha',
'options' => ['placeholder' => 'VerifyCode', 'class' => 'form-control'],
])
?>

3. 控制器里添加如下代码,  或者可以直接去默认 SiteController 里复制一份是一样的. 属性设置参考 http://www.yiiframework.com/doc-2.0/yii-captcha-captchaaction.html

    /**
* actions
*/
public function actions()
{
return [
'captcha' => [
'class' => 'yii\captcha\CaptchaAction',
'maxLength' => 5,
'minLength' => 5,
],
];
}

yii2 验证码的使用的更多相关文章

  1. LNMP Yii2 验证码不显示问题最终解决方案

    首先,本地使用OK! 然后,新配置的LNMP环境,验证码一直显示不出来,看了Yii2的验证码存在session里,怀疑是session有问题. 在测试其他页面的时候,发现:session_start( ...

  2. yii2验证码的使用

    1.控制器中 public function actions()     {         return [             'captcha' => [               ...

  3. Yii2 验证码

    没有用默认的layout  验证码点击不会改变 下面是静态页面代码 <div class="col-sm-12 login"> <div class=" ...

  4. Yii2 验证码不显示

    siteController 中,要将captcha 列为任意用户可以访问

  5. Yii2验证码使用教程

    控制器代码 public function actions() { return [ 'captcha' => [ 'class' => 'yii\captcha\CaptchaActio ...

  6. Yii2 独立操作

    看到最近有些人在问 yii2 独立操作相关的东西,在这做简单的说明吧, 平时核心业务逻辑一般用的还是比较少的.因为  独立操作 出现的原因 是 对重复被使用的操作进行简化,或 分配一个 额外处理逻辑的 ...

  7. yii2增加验证码详细步骤

    作者:白狼 出处:http://www.manks.top/article/yii2_captcha本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留 ...

  8. yii2图片验证码

    控制器LoginController.php <?php namespace backend\controllers; use Yii; use yii\debug\models\search\ ...

  9. 彻底解决Yii2中网页刷新时验证码不刷新的问题

    修改vendor/yiisoft/yii2/captcha/CaptchaValidator.php这个文件就可以了,修改的地方见下图: 总结 归根到底,是因为yii2在渲染网页的时候,会先输出js验 ...

随机推荐

  1. AJAX里调用AJAX,作定时进度刷新

    这个确实搞了一段时间,但成就感有啦... 哈哈,这个自动部署平吧,异步队列CELERY+REDIS,发布进度实时AJAX的技术点全部打通!!! 而获取实时进度,我用的是RESTFUL FRAMEWOR ...

  2. 李洪强iOS开发Swift篇—07_函数

    李洪强iOS开发Swift篇—07_函数 一.函数的定义 (1)函数的定义格式 1 func 函数名(形参列表) -> 返回值类型 { 2 // 函数体... 3 4 } (2)形参列表的格式 ...

  3. [QuickX]xcode运行Quick-cocos2d-x项目时自动更新lua资源文件

    1.项目设置 build settings ->build options ->Scan all source files and Includes = YES 2.加入script (1 ...

  4. 数据库sql整体整理

    create database 数据库 /* 数据库的服务.数据库文件. */ --修改表添加列 create table biao ( name ) ) ) --往表里增加一列 alter tabl ...

  5. EntityFramework在不同数据库下的配置

    1.SQLServer: <connectionStrings> <add name="EntityDesignEntities" connectionStrin ...

  6. Linux创建新用户以及useradd adduser的区别

    从阿里云那弄了个机子玩玩,系统用的是Ubuntu12.04.刚等上去时候是用root登录的,首先想到的就是创建一个用户. 使用 useradd myname 发现/home目录下没有myname的家目 ...

  7. Web---HTTP请求、重定向、转发和数据压缩

    HTTP常用的请求方式包括: GET-最为常见,但发送的数据量很小,发送的数据直接包含到url的后面. POST-可以包含大量数据,数据在请求正文中通过表单进行提交. HEAD,PUT,DELETE. ...

  8. log4j的使用方法

    1.Log4j是什么? Log4j可以帮助调试(有时候debug是发挥不了作 用的)和分析 2.Log4j的概念 Log4j中有三个主要的组件,它们分别是 Logger.Appender和Layout ...

  9. 神经网络中误差反向传播(back propagation)算法的工作原理

    注意:版权所有,转载需注明出处. 神经网络,从大学时候就知道,后面上课的时候老师也讲过,但是感觉从来没有真正掌握,总是似是而非,比较模糊,好像懂,其实并不懂. 在开始推导之前,需要先做一些准备工作,推 ...

  10. div border-radius

    可以画个1/4之一的圆也可以画整个圆 <html> <style type="text/css"> div{ background-color: #000; ...