Yii验证码简单使用及

时间:2023-11-26 19:33:32

控制器:(写了貌似也没用,未解决验证码位数;位数可改核心代码)

public $layout = false;//隐藏导航
public function actions(){
return [
// captcha action renders the CAPTCHA image displayed on the contact page
'captcha'=>[
'class' => 'yii\captcha\CaptchaAction',
'backColor'=>0xFFFFFF, //背景颜色
'minLength'=>4, //最短为4位
'maxLength'=>4, //是长为4位
'transparent'=>true, //显示为透明
'testLimit'=>0,
'fixedVerifyCode' => YII_ENV_TEST ? 'test' : null,
],
];
}

模型层:

//需要定义verifyCode

Public $verifyCode

public function rules()
    {
        return [//验证码
            ['verifyCode', 'required', 'message' => '验证码不可以为空'],
            ['verifyCode', 'captcha'],
        ];
    }

视图层:

use yii\captcha\Captcha;(需要应用这个小组件)

//使用表单组件和验证组件
use yii\widgets\ActiveForm;
use yii\captcha\Captcha; //生成表单
$form = ActiveForm::begin([
'id' => 'contact-form',
"action"=>["vip/az"]
]);
//显示验证码
echo $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>',
]) ; echo "<input type='submit' value='提交'/>";
ActiveForm::end();