介绍
这篇文章主要介绍yii2验证码样式的设置方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
<强> yii2验证码样式如何设置强>
<强>第一步,控制器:强>
在任意控制器里面重写方法
public function 行为() {,,,,,,,return ( & # 39;验证码# 39;,=祝辞,( ,,,,& # 39;类# 39;,=祝辞,& # 39;yii \验证码\ CaptchaAction& # 39; ,,,,& # 39;fixedVerifyCode& # 39;,=祝辞,YII_ENV_TEST ?, & # 39; testme& # 39;,:,空, ,,,,& # 39;背景色# 39;,=祝辞,0 x000000,//背景颜色 ,,,,& # 39;最大长度,,=祝辞,6日,//最大显示个数 ,,,,& # 39;最小长度,,=祝辞,5//最少显示个数 ,,,,& # 39;填充# 39;,=祝辞,5//间距 ,,,,& # 39;高度# 39;,=祝辞,40岁,//高度 ,,,,& # 39;宽度# 39;,=祝辞,130,,,//宽度 ,,,,& # 39;字体颜色# 39;,=祝辞,0 xffffff,,,,,,//字体颜色 ,,,,& # 39;抵消# 39;,=祝辞,4,,,,,,,,,//设置字符偏移量,有效果 ),,),, }
<强>第二步,表单模型:强>
这里只给出验证码相关的部分。
相关文章教程推荐:yii教程
class ContactForm extends 模型{,,, ,,,public verifyCode美元;,,,, ,,,public function 规则(){,,,,,,, ,,,,,,,,,,,return [ ,,,,,,,,,,,,,,,(& # 39;verifyCode& # 39;,, & # 39;需要# 39;], ,,,,,,,,,,,,,,,(& # 39;verifyCode& # 39;,, & # 39;验证码# 39;], ,,,,,,,,,); ,,,} }
验证规则里面验证码的验证器是<代码>验证码> 代码。
<强>第三步,视图:强>
用ActiveForm生成对应字段。
<代码> captchaAction> 代码参数指定第一步是在写在哪里的,默认是<代码> 代码>网站里面。
,& lt; ?=,美元形式→字段(模型中,美元,& # 39;verifyCode& # 39;)→部件(验证码::类名(),( ,,,& # 39;模板# 39;,=祝辞,& # 39;& lt; div 类=皉ow"祝辞& lt; div 类=癱ol-lg-3"在{形象}& lt;/div> & lt; div 类=癱ol-lg-6"在{输入}& lt;/div> & lt;/div> & # 39; ,])?在
验证码,生成和验证的整个流程就完成了。
以上是生成验证码的流程,因为验证码数字是在代码中写死的,如果我们需要数字的话,那该怎么办呢?
很好办,我们可以自己写个类来继承CaptchaAction,重写generateVerifyCode方法,例子:
namespace yii \验证码; class ,, Newcaptcha extends  CaptchaAction { ,,,protected function generateVerifyCode () ,,,{ ,,,,,,,if ($ this→minLength 祝辞,$ this→最大长度),{ ,,,,,,,,,,,这个→美元maxLength =, $ this→最小长度; ,,,,,,,} ,,,,,,,if ($ this→minLength & lt;, 3), { ,,,,,,,,,,,这个→美元minLength =, 3; ,,,,,,,} ,,,,,,,if ($ this→maxLength 祝辞,20),{ ,,,,,,,,,,,这个→美元maxLength =, 20; ,,,,,,,} ,,,,,,,length 美元;=,mt_rand ($ this→最小长度,这→美元最大长度); ,,,,,,,letters 美元;=,& # 39;1234567890123456789012 & # 39;; ,,,,,,,vowels 美元;=,& # 39;五个母音字母# 39;; ,,,,,,,code 美元;=,& # 39;& # 39;; ,,,,,,,for ($小姐:=,0;,美元小姐:& lt;,长度;美元,美元+ + i), { ,,,,,,,,,,,if (美元小姐:%,2,,,,mt_rand(0, 10),祝辞,2,| |,!(小姐:美元%,2),,,,mt_rand(0, 10),祝辞,9),{ ,,,,,,,,,,,,,,,code 美元。=,美元元音[mt_rand (0, 4)]; ,,,,,,,,,,,},{else null null null null null null null null null nullyii2验证码样式的设置方法