Yii框架captcha验证码的使用
yii2框架自带验证码类,而且可以通过widget()方法直接渲染生成填写验证码的input框,以及验证码的图片.下面就记录如何使用验证码.
控制器
假设控制器为Auth,则在该控制器下重载actions,以下是基本的配置,更多的配置请查看官方文档 yii-captcha-captchaaction 章节
public function actions()
{return ['captcha' => ['class' => 'yii\captcha\CaptchaAction','testLimit' => 2,//两次有效'height' => 40,'width' => 80,'minLength' => 4,'maxLength' => 4]];
}
模型
假设验证码的字段为verifyCode,则在模型下的验证规则rules方法下,添加,注意captchaAction要配置正确,要和前端的配置对应.
public $verifyCode;
public function rules()
{return [['verifyCode','captcha','captchaAction'=>'admin/auth/captcha','message'=>'验证码不正确'],];}
视图
有两种调用方式,个人比较喜欢第二种.
方式一
<?php $form=\yii\bootstrap\ActiveForm::begin();?>
<?= $form->field($model,'verifyCode')->widget(\yii\captchat\Captcha::className,['captchaAction' =>'auth/captcha',//必须要和model中的一致'template' => '{input}{image}', //模板'options' => ['placeholder'=>'验证码'],//input框属性'imageOptions' => ['id'=>'captcha'] //图像的属性
]);?>
<?php $form->end();?>
方式二
<?php $form=\yii\bootstrap\ActiveForm::begin();?>
<?= \yii\captcha\Captcha::widget(['model' => $model,'attribute' => 'verifyCode','captchaAction' => 'auth/captcha','options' => ['placeholder'=>'验证码'],'imageOptions' => ['id'=>'captcha'],'template' => '{input}{image}',
]);?>
<?php $form->end();?>
以上是基本的配置,更多的配置请查看 官方文档 yii-captcha-captcha 章节
刷新
$("#captcha").click(function(){var url = "<?= \yii\helpers\Url::to(['auth/captcha']);?>";
$.get(url,{refresh:1},function(data){var object = eval(data);$('#captcha').attr('src',object.url);})
});
Yii框架captcha验证码的使用相关推荐
- php中captcha action,Yii使用Captcha验证码的方法
本文实例讲述了Yii使用Captcha验证码的方法.分享给大家供大家参考,具体如下: 详细代码可参考:yii自带的示例代码post项目,里面有一个contact表单用到了验证码. 1. Model: ...
- yii框架相关知识(转)
2019独角兽企业重金招聘Python工程师标准>>> db组件 'schemaCachingDuration'=>3600, 为什么不起做用?需要开缓存 如何在页面下边显示s ...
- php验证规则表单,PHP Yii框架之表单验证规则大全
Yii是一个基于组件的高性能PHP框架,用于开发大型Web应用.Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程. 废话不多说了,直接给大家贴代码了. class ContactForm ...
- PHP Yii框架之表单验证规则大全
Yii是一个基于组件的高性能PHP框架,用于开发大型Web应用.Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程,本文给大家介绍php yii框架之表单验证规则大全,感兴趣的朋友一起学习吧 ...
- 利用keras破解captcha验证码
本文参考了知乎上的一篇文章,只做了少许改动,感觉挺好玩的,自己实现了一下,准确率比原作者的要高一些.如果想要了解原创文章的话,请移步知乎:使用深度学习来破解captcha验证码 本文通过keras深度 ...
- PHP开发框架之YII框架学习——碾压ThinkPHP不是梦
前 言 JRedu 程序猿是一种慵懒的生物!能少敲一行代码,绝对不会多敲一个字符!所以,越来越多的开发框架应运而生,在帮助我们完成功能的同时,极大程度上也帮我们节省了人力物力,而且也提高了系统的 ...
- php框架里有模版引擎吗,Yii框架用模版引擎了吗?_PHP开发框架教程
Yii框架用模版引擎了吗? Yii框架没有用模版引擎,Yii照样采纳原始PHP作为模板语法,该框架是一个基于组件的高性能PHP框架,用于开发大型Web运用,而且采纳严厉的OOP编写,并供了Web运用开 ...
- yii框架学习(五)get、post请求如何接收请求参数
get请求接收参数 修改之前的actionIndex请求,在括号中添加$name参数既可以使用 public function actionIndex($name){echo 'Hello World ...
- Yii框架控制台报错: The id configuration for the Application is required
一.背景 博主新接手的项目是使用Yii框架开发的,在使用yii的控制台命令的时候报错:The "id" configuration for the Application is r ...
最新文章
- (14)某工业生产部门根据国家计划的安排, 拟将某种高效率的5台机器,分配给所属的3个工厂A,B,C,各工厂在获得这种机器后,可以为国家盈利的情况如表4-10所示。
- 扩增子项目动辄几百上千样品,如何写好实验设计——样品和组命名规则
- jni jvm 内存泄漏_内存泄漏
- 将一个datetime的now转换为只有日期的_不要眨眼!中英文、大小写转换,一秒就搞定!
- opencv-api houshlinesp
- const与volatile
- leetcode 1154 一年中的第几天
- 2021年中国电热饭盒市场趋势报告、技术动态创新及2027年市场预测
- Java JavaFX 批量修改文件夹里面的文件的名字
- layer.msg回调函数
- 用计算机教学体育,浅谈计算机在体育教学中的应用
- 海康威视设备发现sdp原理
- 海康威视监控使用html播放
- MySQL定时备份并清理
- 联想笔记本重装系统声卡驱动未安装报错代码28,声音图标显示红叉没有声音
- 微信怎样知道经常聊天的人
- 正则表达式过滤联系方式,微信手机号QQ等
- ps切图后 JAVA开发_ps切图抠图详解-web前端(转)
- web网页设计期末课程大作业——电影介绍5页HTML+CSS制作
- 华为云电脑.模式_云电脑还是云手机,为何阿里、华为都要做?
热门文章
- C语言:有一函数y= x(x<1) 2x-1 (1≤x<10) 3x-11 (x≥10)用 scanf 函数输入 x 的值,求 y 值。
- 边缘检测robert原理_有源电扫相控阵天线原理(视频)
- Python文件.py||.pyi||.pyc||.pyo||.pyd等各种文件后缀区别
- WEB前端网页设计-Bootstrap 网格系统
- what is a hacker
- 岁月的剪影【五月Alive】
- 在测试aes加密的时候,出现一个关于密钥的长度问题
- Python---GUI
- 【工业4.0】中国企业工业4.0发展路径分析
- BIM模型文件下载——热交换机机房模型