yii2.0 验证码功能的实现

来源:互联网 发布:java mvc web项目实例 编辑:程序博客网 时间:2024/05/04 11:57

首先知晓我们在使用验证码的时候通常是和我们的表单小部件配合使用

首先我们创建model层

新建一个php文件 名字叫做Verifycode.php

要在我们的model层 创建我们的验证码的验证规则,我这里简单的写两个规则 一个是 非空 另一个是验证码必须验证正确

规则写在我们的model的rules里

<?phpnamespace frontend\models;use yii\base\Model;use yii\widgets\ActiveForm;use  yii\helpers\Html;class Verifycode extends Model{    /*定义需要使用的标量*/    public $verifycode;    public  function rules(){        return[            ['verifycode','required'],            ['verifycode', 'captcha'],        ];    }    public function attributeLabels()    {        return array(           'verifycode'=>'验证码',        );        //'rememberMe'=>'Remember me next time',    }}

然后新建控制器层 创建一个php文件名字叫做VerifycodeController.php

<?phpnamespace frontend\controllers;use yii\web\Controller;use frontend\models\Verifycode;class VerifycodeController extends Controller{    public function actionIndex(){        $model = new Verifycode();        return $this->render('index',['model'=>$model]);    }}

接下来创建view层

新建一个php文件 名字叫做index.php

<?phpuse yii\captcha\Captcha;use yii\widgets\ActiveForm;use yii\helpers\Html;$form = ActiveForm::begin([    'id' => 'login-form',    'options' => ['class' => 'form-horizontal'],    'action'=>'?r=index/login',    'method'=>'post',]) ?><?= $form->field($model, 'verifycode')->widget(Captcha::className()) ?>    <div class="form-group">        <div class="col-lg-offset-1 col-lg-11">            <?= Html::submitButton('Login', ['class' => 'btn btn-primary']) ?>        </div>    </div><?php ActiveForm::end() ?>
原创粉丝点击