Yii2.0同一个页面使用多个验证码
来源:互联网 发布:vb语言程序设计 编辑:程序博客网 时间:2024/06/11 06:37
Yii2.0框架对实现的抽象层次很高,导致我们使用的时候完全跟着文档走,但是文档又写的很粗糙,我个人认为,写Yii2.0的人不喜欢写文档,希望我们自己去读源码。
如果需要在同一个页面,使用不同的验证码,怎么办?这个就要根据验证码的机制来找答案了。
先看看验证码的使用方法:
在需要使用验证码的比如User控制器中的actions方法中添加设置:
public function actions() {
return [
‘captcha’ => [
‘class’ => ‘yii\captcha\CaptchaAction’,
‘height’ => 50,
‘width’ => 80,
‘minLength’ => 4,
‘maxLength’ => 4
],
];
}
然后就可以在视图中加入验证码了。
<?php use yii\captcha\Captcha; echo $form->field($user_login,'captcha')->widget(yii\captcha\Captcha::className(),['captchaAction'=>'user/captcha','imageOptions'=>['alt'=>'点击换图','title'=>'点击换图','style'=>'cursor:pointer',]]);?>
在User控制器中验证验证码是否正确:
$this->createAction('captcha')->validate($captchCode, false); //$captchCode为用户输入的验证码
那么,我们如果要在同一个页面中使用2个验证码,怎么办呢?
其实只需要在actions里设置两个action就可以了:
public function actions() { return [ 'captcha2' => [ 'class' => 'yii\captcha\CaptchaAction', 'height' => 50, 'width' => 80, 'minLength' => 4, 'maxLength' => 4 ], 'captcha2' => [ 'class' => 'yii\captcha\CaptchaAction', 'height' => 50, 'width' => 80, 'minLength' => 4, 'maxLength' => 4 ], ]; }
试图中:
<?php use yii\captcha\Captcha; echo $form->field($user_login,'captcha')->widget(yii\captcha\Captcha::className(), [ 'captchaAction'=>'user/captcha1', 'imageOptions'=>[ 'alt'=>'点击换图', 'title'=>'点击换图', 'style'=>'cursor:pointer', ]]);echo $form->field($user_login,'captcha')->widget(yii\captcha\Captcha::className(), [ 'captchaAction'=>'user/captcha2', 'imageOptions'=>[ 'alt'=>'点击换图', 'title'=>'点击换图', 'style'=>'cursor:pointer', ]]);?>
验证同理可得:
$this->createAction('captcha1')->validate($captchCode1, false); //$captchCode1为用户在第一个验证码input中输入的验证码$this->createAction('captcha2')->validate($captchCode2, false); //$captchCode2为用户在第二个验证码input中输入的验证码
阅读全文
0 0
- Yii2.0同一个页面使用多个验证码
- Yii2.0 使用验证码
- 如何在多个页面使用同一个HTML片段
- 如何在多个页面使用同一个HTML片段《续》
- 同一个页面使用多个版本的jQuery
- yii2.0自定义rule来验证多个属性
- 多个浏览器访问同一个jsp页面
- 如何实现同一个页面多个倒计时?
- 多个Activity在同一个页面播放
- 同一个页面多个dataTable 分页搜索
- Yii2.0 验证码错误
- Yii2.0 添加验证码
- 可以在一个页面里面使用多个uitableview ,并使用同一个delegate
- yii2 模块中的验证码使用
- yii2自定义表单使用验证码
- yii2自定义表单使用验证码
- 在同一个页面使用多个不同的jQuery版本,让它们并存而不冲突
- 在同一个页面使用多个不同的jQuery版本,让它们并存而不冲突
- OpenPose的安装
- netty PoolChunk内存分配一
- tensorflow serving:bazel方式部署模型+docker方式部署模型及提供服务以及使用该服务介绍(总有一款适合你)
- Lniux网络通信三(组播和广播)
- C语言中的类型转换
- Yii2.0同一个页面使用多个验证码
- 第三章:Django的模板使用
- 漫步最优化十七——点对点映射
- 线性动态规划 (共六题)
- 对“回文数”问题的解法
- 同源策略和跨域访问
- 找米网2017域名投资经验分享(精华总结)
- Java 内存区域介绍
- 用Java代码实现hadoop命令