Yii框架自带验证码使用
1.控制器层代码:
/**
*
*自带验证码测试
*/
public function actionVerify()
{
$model = new User8();
return $this->render('Verify',['model'=>$model]);
}
2、模型层代码:
<?php
namespace app\models;
use Yii;
use yii\captcha\Captcha;
class User8 extends \yii\db\ActiveRecord
{
public $verifyCode;
public static function tableName()
{
return 'user8';
}
public function rules()
{
return [
[['username', 'password'], 'string', 'max' => 255],
['verifyCode', 'captcha','message'=>'验证码错误']
];
}
}
3、视图层代码:
<?php
use yii\captcha\Captcha;
use yii\helpers\Html;
use yii\widgets\ActiveForm;
?>
<?php $form = ActiveForm::begin(); ?>
<?= $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>',
]) ?>
<?php ActiveForm::end(); ?>
4、改变验证码的样式
在siteController的控制器中,有个actions方法,如下进行修改
public function actions()
{
return [
'error' => [
'class' => 'yii\web\ErrorAction',
],
'captcha' => [
'class' => 'yii\captcha\CaptchaAction',
'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,//调整验证码是数字还是中文
// 'fixedVerifyCode' => substr(time(),mt_rand(1,9),5),
'backColor'=>0x000000,//背景颜色
'maxLength' => 6, //最大显示个数
'minLength' => 5,//最少显示个数
'padding' => 5,//间距
'height'=>40,//高度
'width' => 130, //宽度
'foreColor'=>0xffffff, //字体颜色
'offset'=>4, //设置字符偏移量 有效果
],
];
}
Yii框架自带验证码使用
最新推荐文章于 2021-04-02 17:17:26 发布