yii2验证码样式如何设置
框架(架构)  /  管理员 发布于 7年前   185
yii2验证码样式如何设置
第一步,控制器:
在任意controller里面重写方法
public function actions(){ return [ 'captcha' => [ 'class' => 'yii\captcha\CaptchaAction', 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null, 'backColor' => 0x000000,//背景颜色 'maxLength' => 6, //最大显示个数 'minLength' => 5,//最少显示个数 'padding' => 5,//间距 'height' => 40,//高度 'width' => 130, //宽度 'foreColor' => 0xffffff, //字体颜色 'offset' => 4, //设置字符偏移量 有效果 ], ]; }
第二步,表单模型:
这里只给出验证码相关的部分。
相关文章教程推荐:yii教程
class ContactForm extends Model{ public $verifyCode; public function rules(){ return [ ['verifyCode', 'required'], ['verifyCode', 'captcha'], ]; }}
验证规则里面验证码的验证器是captcha
。
第三步,视图:
用ActiveForm生成对应字段。
captchaAction
参数指定第一步是在写在哪里的,默认是site
里面。
<?= $form->field($model, 'verifyCode')->widget(Captcha::className(), [ 'template' => '<div class="row"><div class="col-lg-3">{image}</div><div class="col-lg-6">{input}</div></div>', ]) ?>
验证码,生成和验证的整个流程就完成了。
以上是生成验证码的流程,因为验证码数字是在代码中写死的,如果我们需要数字的话,那该怎么办呢?
很好办,我们可以自己写个类来继承CaptchaAction,重写generateVerifyCode方法,例子:
namespace yii\captcha;class Newcaptcha extends CaptchaAction{ protected function generateVerifyCode() { if ($this->minLength > $this->maxLength) {$this->maxLength = $this->minLength; } if ($this->minLength < 3) {$this->minLength = 3; } if ($this->maxLength > 20) {$this->maxLength = 20; } $length = mt_rand($this->minLength, $this->maxLength); $letters = '1234567890123456789012'; $vowels = 'aeiou'; $code = ''; for ($i = 0; $i < $length; ++$i) {if ($i % 2 && mt_rand(0, 10) > 2 || !($i % 2) && mt_rand(0, 10) > 9) { $code .= $vowels[mt_rand(0, 4)];} else { $code .= $letters[mt_rand(0, 20)];} } return $code; }}
生成类文件成功。
然后再更改控制器的配置
'captcha' => [ 'class' => 'yii\captcha\Newcaptcha', 'maxLength' => 5, 'minLength' =>5],
好了,更改完成,让我们来看下效果吧!
更多yii框架知识,可以观看相关编程学习课程,!!
以上就是yii2验证码样式如何设置的详细内容,更多请关注其它相关文章!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号