yii的验证码

验证码比较麻烦,在三部分各有体现

controller

<?php
namespace app\controllers\demo_code;
use yii\web\Controller;
class DemoController extends Controller{
//重写actions类
public function actions(){
return [
'captcha'=>[
//初始化一个CaptchaAction类,并写验证码的一些参数
'class' => 'yii\captcha\CaptchaAction',
'maxLength'=>4,
'minLength'=>4,
'height'=>40,
'width'=>80,
],
];
}
     //调用
public function actionIndex(){
$code = new \app\models\demo_code\code;
return $this->render('view',['code'=>$code]);
}
}
?>

model

<?php
namespace app\models\demo_code;
use yii\base\Model;
class code extends Model{
//初始化一个变量,其实就是验证码
public $verify_code;
public function rules(){
return [
//对上面变量的字段进行验证
         //captchaAction是controller里面的
['verify_code','captcha','captchaAction'=>'demo_code/demo/captcha'],
['verify_code','required','message'=>'不能为空']
];
}
}
?>

view

<?php
echo \yii\captcha\Captcha::widget([
'model'=>$code,//controller传过来的参数
'attribute'=>'verify_code',//model开启验证字段名字
'captchaAction'=>'demo_code/demo/captcha',//验证字段的方法,对应controller的action的namespace
'options'=>['id'=>'input'],//填写一些其他信息,比如class
'imageOptions'=>['alt'=>'点击刷新'],//图片的属性
]);
?>
上一篇:iOS程序破解——获取.ipa程序包


下一篇:Asp.Net Core&Docker部署到树莓派3B中