yii2使用驗證碼組件

yii2自帶的例子里面有一個關(guān)于驗證碼的使用例子,但是本篇文章討論的是用另外一種方式手動生成和驗證驗證碼。

生成驗證碼

在要使用驗證碼的Controller里面實現(xiàn)actions方法:

class TestController extends Controller{
    public function actions(){
        return [
            'captchatest' => [
                'class' => 'yii\captcha\CaptchaAction',
                'maxLength' => 4, //生成的驗證碼最大長度
                'minLength' => 4  //生成的驗證碼最短長度
            ]
        ];
    }   
}

以上代碼通過實現(xiàn)actions方法創(chuàng)建了一個叫captchatest的action,上面的action我只填了兩個參數(shù),還有其他參數(shù)可以參考yii\captcha\CaptchaAction的publish屬性

在頁面中使用驗證碼

在要使用驗證碼的view里面插入以下代碼:

<?php echo Captcha::widget(['name'=>'captchaimg','captchaAction'=>'captchatest','imageOptions'=>['id'=>'captchaimg', 'title'=>'換一個', 'alt'=>'換一個', 'style'=>'cursor:pointer;margin-top:10px; height: 22px;'],'template'=>'{image}']); ?>

以上代碼主要需要正確填寫captchaAction,填寫你剛才創(chuàng)建的captchaAction,需要完整的namespace,然后會生成一個img

驗證驗證碼

在action中接收到表單傳來的驗證碼后,使用:

$this->createAction('captchatest')->validate($captchCode, false); //$captchCode為用戶輸入的驗證碼

validate函數(shù)會返回true/false,該函數(shù)的第二個參數(shù)為是否對大小寫敏感

刷新驗證碼

生成的驗證碼有時用戶看不清楚,需要重新刷新,可以使用該圖片的url加上refresh參數(shù),然后會返回一個json數(shù)據(jù),其中有一個url的屬性,調(diào)用該url即可獲取新驗證碼,如圖片地址為:/index.php?r=test%2Fcaptchatest&v=5680ce41e9cb0,獲取圖片地址為:/index.php?r=feedback%2Fcaptchafeedback&v=5680ce41e9cb0&refresh=1

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,765評論 25 709
  • ¥開啟¥ 【iAPP實現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,295評論 0 17
  • 我終于知道昨晚的感覺是啥了 驀然回首原來是你 謝謝是你 被人疼的感覺好像還不錯
    sunshine相對忘貧閱讀 136評論 0 1
  • 九月四日入職,做一份從未接觸過的行業(yè)—眼鏡。 本身我是打算自己學(xué)了后開家眼鏡店的,自己也近四十歲了,眼鏡行業(yè)利...
    云朵中有光閱讀 269評論 0 0

友情鏈接更多精彩內(nèi)容