yii2 验证码的使用
@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 验证码的使用的更多相关文章
- LNMP Yii2 验证码不显示问题最终解决方案
首先,本地使用OK! 然后,新配置的LNMP环境,验证码一直显示不出来,看了Yii2的验证码存在session里,怀疑是session有问题. 在测试其他页面的时候,发现:session_start( ...
- yii2验证码的使用
1.控制器中 public function actions() { return [ 'captcha' => [ ...
- Yii2 验证码
没有用默认的layout 验证码点击不会改变 下面是静态页面代码 <div class="col-sm-12 login"> <div class=" ...
- Yii2 验证码不显示
siteController 中,要将captcha 列为任意用户可以访问
- Yii2验证码使用教程
控制器代码 public function actions() { return [ 'captcha' => [ 'class' => 'yii\captcha\CaptchaActio ...
- Yii2 独立操作
看到最近有些人在问 yii2 独立操作相关的东西,在这做简单的说明吧, 平时核心业务逻辑一般用的还是比较少的.因为 独立操作 出现的原因 是 对重复被使用的操作进行简化,或 分配一个 额外处理逻辑的 ...
- yii2增加验证码详细步骤
作者:白狼 出处:http://www.manks.top/article/yii2_captcha本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留 ...
- yii2图片验证码
控制器LoginController.php <?php namespace backend\controllers; use Yii; use yii\debug\models\search\ ...
- 彻底解决Yii2中网页刷新时验证码不刷新的问题
修改vendor/yiisoft/yii2/captcha/CaptchaValidator.php这个文件就可以了,修改的地方见下图: 总结 归根到底,是因为yii2在渲染网页的时候,会先输出js验 ...
随机推荐
- AJAX里调用AJAX,作定时进度刷新
这个确实搞了一段时间,但成就感有啦... 哈哈,这个自动部署平吧,异步队列CELERY+REDIS,发布进度实时AJAX的技术点全部打通!!! 而获取实时进度,我用的是RESTFUL FRAMEWOR ...
- 李洪强iOS开发Swift篇—07_函数
李洪强iOS开发Swift篇—07_函数 一.函数的定义 (1)函数的定义格式 1 func 函数名(形参列表) -> 返回值类型 { 2 // 函数体... 3 4 } (2)形参列表的格式 ...
- [QuickX]xcode运行Quick-cocos2d-x项目时自动更新lua资源文件
1.项目设置 build settings ->build options ->Scan all source files and Includes = YES 2.加入script (1 ...
- 数据库sql整体整理
create database 数据库 /* 数据库的服务.数据库文件. */ --修改表添加列 create table biao ( name ) ) ) --往表里增加一列 alter tabl ...
- EntityFramework在不同数据库下的配置
1.SQLServer: <connectionStrings> <add name="EntityDesignEntities" connectionStrin ...
- Linux创建新用户以及useradd adduser的区别
从阿里云那弄了个机子玩玩,系统用的是Ubuntu12.04.刚等上去时候是用root登录的,首先想到的就是创建一个用户. 使用 useradd myname 发现/home目录下没有myname的家目 ...
- Web---HTTP请求、重定向、转发和数据压缩
HTTP常用的请求方式包括: GET-最为常见,但发送的数据量很小,发送的数据直接包含到url的后面. POST-可以包含大量数据,数据在请求正文中通过表单进行提交. HEAD,PUT,DELETE. ...
- log4j的使用方法
1.Log4j是什么? Log4j可以帮助调试(有时候debug是发挥不了作 用的)和分析 2.Log4j的概念 Log4j中有三个主要的组件,它们分别是 Logger.Appender和Layout ...
- 神经网络中误差反向传播(back propagation)算法的工作原理
注意:版权所有,转载需注明出处. 神经网络,从大学时候就知道,后面上课的时候老师也讲过,但是感觉从来没有真正掌握,总是似是而非,比较模糊,好像懂,其实并不懂. 在开始推导之前,需要先做一些准备工作,推 ...
- div border-radius
可以画个1/4之一的圆也可以画整个圆 <html> <style type="text/css"> div{ background-color: #000; ...