zoukankan      html  css  js  c++  java
  • [moka同学笔记]Yii2.0验证码

    1.Model中Code.php

    <?php
    /**
     * Created by PhpStorm.
     * User: moka同学
     * Date: 2016/07/25
     * Time: 10:48
     */
    namespace appmodels;
    
    use yiiaseModel;
    
    class Code extends Model{
        public $verifyCode;
    
        public function rules()
        {
            return [
                ['verifyCode','captcha','captchaAction'=>'code/captcha','message'=>'验证码错误!']
            ];
        }
    }
    ?>

    2.控制器中CodeController.php

    <?php
    /**
     * Created by PhpStorm.
     * User: moka同学
     * Date: 2016/07/25
     * Time: 10:46
     */
    namespace appcontrollers;
    
    use appmodelsCode;
    use yiiwebController;
    
    class CodeController extends Controller{
        public function actions()
        {
            return [
                //验证码
                'captcha'=>[
                    //验证码类
                    'class'=>'yiicaptchaCaptchaAction',
                    'maxLength'=>6, //生成验证码的长度最大为4
                    'minLength'=>4, //生成最小个数4
                    'width' =>80,   //宽度
                    'height'=>40
                ]
            ];
        }
    
        public function actionIndex(){
            $code = new Code();
            if(Yii::$app->request->isPost){
                //验证码验证
                if($code->validate()){
                    echo "验证通过";
                }else{
                    var_dump($code->getErrors());
                }
            }
    
            return $this->render('index',['model'=>$code]);
    
        }
    }
    ?>

    3.视图index.php

    <?php
    use yiihelpersHtml;
    use yiicaptchaCaptcha;
    echo $this->render('@app/views/public/testNav');
    ?>
    <?=Html::beginForm("",'post',['class'=>'forms'])?>
    <?=Captcha::widget([
        'model'=>$model, //Model
        'attribute'=>'verifyCode',//字段
        'captchaAction'=>'code/captcha',//验证码的action 与 Model 是对应的,code/captcha
        'template'=>'{input}{image}', //模版,可以自定义
        'options'=>[
            //input 的Html属性配置
            'class'=>'input verifycode',
            'id'=>'verifyCode'
        ],
        'imageOptions'=>[
            //image的Html属性
            'class'=>'imagecode',
            'alt'=>'点击图片刷新'
        ]
    ]);?>
    <?=Html::submitButton("提交",['class'=>'submit'])?>
    <?=Html::endForm();?>
    我生活的地方,我为何要生活。
  • 相关阅读:
    如何快速上手LINQ to XML
    协变还是逆变,这还是个问题吗
    WPF的依赖属性是怎么节约内存的?
    CLR线程总结
    关于.NET异常 你应该知道的更多点
    [TED] Kinect控制的四翼直升机
    vSphere系列Windows环境安装部署嵌入式PSC的vCenter Server
    vSphere系列Linux环境部署安装非嵌入式PSC的vCenter Server Appliance
    Go 初识
    vSphere系列vCenter Server入门_01.认识与安装
  • 原文地址:https://www.cnblogs.com/hsd1727728211/p/5913407.html
Copyright © 2011-2022 走看看