在做需求時,發(fā)現(xiàn)輸入正確驗證碼,但是都提示驗證碼錯誤。
最後追蹤程式碼發(fā)現(xiàn),如果 Model 在?save?前,單獨做了?validate?驗證,驗證在驗證結(jié)束後,會重新產(chǎn)生驗證碼。然後在我們 Model?save
?時,也會進行?validate?驗證,驗證時,驗證碼已經(jīng)重新產(chǎn)生了,所以會不匹配。
問題發(fā)現(xiàn):
我們可以看framework/web/widgets/captcha/CCaptchaAction.php
可以很容易就發(fā)現(xiàn)問題了。
<?php class CaptchaAction extends CCaptchaAction{ public function validate($input, $caseSensitive) { $code = $this->getVerifyCode(); $valid = $caseSensitive ? ($input === $code) : !strcasecmp($input, $code); $session = Yii::app()->session; $session->open(); $name = $this->getSessionKey() . 'count'; if (!Yii::app()->request->isAjaxRequest) { $session[$name] = $session[$name] + 1; } // 這里會重新生成 if ($session[$name] > $this->testLimit && $this->testLimit > 0) { $this->getVerifyCode(true); } return $valid; } }
// 如果這里用到了驗證碼,就會出問題$model = new Test(); $model->validate(); $model->save();
// 這樣是正確的$model = new Test(); // 把需要驗證的 attribute 放進去,排除驗證碼字段 $model->validate(array('test1','test2')); $model->save()
相關(guān)文章教學推薦:yii教學
以上是yii輸入正確驗證碼提示錯誤的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Google瀏覽器提示此標籤頁的內(nèi)容正在被分享怎麼辦?我們在使用Google瀏覽器開啟新標籤的時候有時會遇到提示此標籤頁的內(nèi)容正在被分享,那麼這是怎麼回事?以下就讓本站來為使用者來仔細的介紹一下谷歌瀏覽器提示此標籤頁的內(nèi)容正在被共享的問題解析吧?! oogle瀏覽器提示此標籤頁的內(nèi)容正在被共享解決方法 1、打開谷歌瀏覽器,在瀏覽器右上角可以看到三個點「自訂和控制Googlechrome」用滑鼠點擊圖示進行圖示。 2、點擊後,Google瀏覽器的選單視窗將彈出到下面,滑鼠將移動到「更多工具

如果您在使用印表機時遇到錯誤訊息,例如操作無法完成(錯誤0x00000771),可能是因為印表機已中斷連線。在這種情況下,您可以透過以下方法解決問題。在本文中,我們將討論如何在Windows11/10PC上修復(fù)此問題。整個錯誤訊息說:操作無法完成(錯誤0x0000771)。指定的印表機已被刪除。修正WindowsPC上的0x00000771印表機錯誤若要修復(fù)印表機錯誤操作無法完成(錯誤0x0000771),指定的印表機已在Windows11/10PC上刪除,請遵循下列解決方案:重新啟動列印假脫機

目錄解決方法一解決方法二一、刪除Windows更新的臨時檔案二、修復(fù)受損的系統(tǒng)檔案三、檢視並修改登錄項目四、關(guān)閉網(wǎng)卡IPv6五、執(zhí)行WindowsUpdateTroubleshootor工具進行修復(fù)六、關(guān)閉防火牆和其它相關(guān)的防毒軟體。七、關(guān)閉WidowsUpdate服務(wù)。解決方法三解決方法四華為電腦Windows更新出現(xiàn)「0x8024401c」報錯問題現(xiàn)象問題原因解決方案仍未解決?最近web伺服器因為系統(tǒng)漏洞需要更新,登入伺服器之後,更新提示錯誤碼0x8024401c解決方法一

顯示錯誤是在香香腐宅app中可能會出現(xiàn)的問題,有些用戶還不太清楚香香腐宅app為什麼顯示錯誤,可能是網(wǎng)絡(luò)連接問題、後臺程序過多、註冊信息錯誤等問題,接下來就是小編為使用者帶來的app顯示錯誤解決方法的介紹,有興趣的使用者快來一起看看吧!香香腐宅app為何顯示錯誤答案:網(wǎng)路連線問題、後臺程式過多、註冊資訊錯誤等詳情介紹:1、【網(wǎng)路問題】解決方法:檢視裝置連線網(wǎng)路狀態(tài),重新連線或選擇其他網(wǎng)路連線使用即可。 2.【後臺程式過多】解決方法:關(guān)閉正在運作的其他程序,釋放系統(tǒng),可以加快軟體的運作。 3、【註冊資訊錯

標題:分析Oracle錯誤3114:原因及解決方法在使用Oracle資料庫時,常常會遇到各種錯誤代碼,其中錯誤3114是比較常見的一個。此錯誤一般涉及資料庫連結(jié)的問題,可能導(dǎo)致存取資料庫時出現(xiàn)異常狀況。本文將對Oracle錯誤3114進行解讀,探討其造成的原因,並給出解決該錯誤的具體方法以及相關(guān)的程式碼範例。 1.錯誤3114的定義Oracle錯誤3114通

谷歌瀏覽器不顯示驗證碼圖片怎麼辦?在使用Google瀏覽器登入網(wǎng)頁有時候需要驗證碼驗證。部分使用者在使用圖片驗證碼的時候發(fā)現(xiàn)Google瀏覽器無法正常顯示圖片的內(nèi)容。這該怎麼辦呢?下面小編帶來Google瀏覽器驗證碼不顯示處理方法介紹,希望對大家有幫助! 方法介紹 1、進入軟體,點選右上角的「更多」按鈕,選擇下方選項清單中的「設(shè)定」進入。 2、進入新介面後,點選左側(cè)的「隱私設(shè)定與安全性」選項?! ?、接著點擊右側(cè)中的「網(wǎng)站設(shè)定&rdquo

LinuxOops:詳解這一錯誤的含義,需要具體程式碼範例什麼是LinuxOops?在Linux系統(tǒng)中,"Oops"指的是核心出現(xiàn)了一個嚴重的錯誤導(dǎo)致系統(tǒng)崩潰的情況。 Oops實際上是一種核心崩潰的機制,它會在發(fā)生致命錯誤時停止系統(tǒng)運行,並列印相關(guān)的錯誤訊息,以便開發(fā)者對問題進行診斷和修復(fù)。 Oops通常發(fā)生在核心空間中,與用戶空間的應(yīng)用程式無關(guān)。當內(nèi)核遇到

百度貼吧app提示操作過於頻繁這種提示通常是為了維護平臺的正常運作和用戶體驗,以防止惡意刷屏、廣告刷帖等不當行為,具體的處理方法各位可以看小編分享教程哦。百度貼吧app提示操作過於頻繁處理方法分享1、當系統(tǒng)提示【操作太頻繁】的時候,我們需要等待一段時間,如果著急可以先去做一點別的事情,一般等待一會兒之後,這個提示信息就會自動消失,這時候我們就可以正常使用了。 2.如果等了很久之後,它還是顯示【操作過於頻繁】,我們可以嘗試去貼吧應(yīng)急吧、貼吧意見反饋吧等官方貼吧,發(fā)帖反饋這種現(xiàn)象,請求官方人員解決。 3、
