在做一個需求時,發(fā)現(xiàn)輸入正確驗證碼,但是都提示驗證碼錯誤。
最后追蹤代碼發(fā)現(xiàn),如果 Model 在?save?前,單獨做了?validate?驗證,則在驗證結(jié)束后,會重新生成驗證碼。然后在我們 Model?save
?時,也會進行?validate?驗證,驗證時,驗證碼已經(jīng)重新生成了,所以會匹配不上。
問題發(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ū)動的應用程序,用于創(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)

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

目錄解決方法一解決方法二一、刪除Windows更新的臨時文件二、修復受損的系統(tǒng)文件三、查看并修改注冊表項四、關(guān)閉網(wǎng)卡IPv6五、運行WindowsUpdateTroubleshootor工具進行修復六、關(guān)閉防火墻和其它相關(guān)的殺毒軟件。七、關(guān)閉WidowsUpdate服務。解決方法三解決方法四華為計算機Windows更新出現(xiàn)“0x8024401c”報錯問題現(xiàn)象問題原因解決方案仍未解決?最近web服務器因為系統(tǒng)漏洞需要更新,登錄服務器之后,更新提示錯誤代碼0x8024401c解決方法一

顯示錯誤是在香香腐宅app中可能會出現(xiàn)的問題,有些用戶還不太清楚香香腐宅app為什么顯示錯誤,可能是網(wǎng)絡連接問題、后臺程序過多、注冊信息錯誤等問題,接下來就是小編為用戶帶來的app顯示錯誤解決方法的介紹,感興趣的用戶快來一起看看吧!香香腐宅app為什么顯示錯誤答:網(wǎng)絡連接問題、后臺程序過多、注冊信息錯誤等詳情介紹:1、【網(wǎng)絡問題】解決方法:檢查設備連接網(wǎng)絡狀態(tài),重新連接或選擇其他網(wǎng)絡連接使用即可。2、【后臺程序過多】解決方法:關(guān)閉正在運行的其他程序,釋放系統(tǒng),可以加快軟件的運行。3、【注冊信息錯

谷歌瀏覽器不顯示驗證碼圖片怎么辦?在使用谷歌瀏覽器登錄網(wǎng)頁有時候需要驗證碼驗證。部分用戶在使用圖片驗證碼的時候發(fā)現(xiàn)谷歌瀏覽器無法正常顯示圖片的內(nèi)容。這應該怎么辦呢?下面小編帶來谷歌瀏覽器驗證碼不顯示處理方法介紹,希望對大家有所幫助! 方法介紹 1、進入軟件,點擊右上角的“更多”按鈕,選擇下方選項列表中的“設置”進入?! ?、進入新界面后,點擊左側(cè)的“隱私設置和安全性”選項。 3、接著點擊右側(cè)中的“網(wǎng)站設置&rdquo

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

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

Apache服務器報錯:無法找到PHP文件在搭建網(wǎng)站的過程中,經(jīng)常會遇到Apache服務器報錯的情況。其中一個常見的問題是在訪問PHP文件時,服務器提示無法找到PHP文件的錯誤。這個問題可能出現(xiàn)在配置文件不正確、文件路徑有誤或者其他一些原因。在本文中,我們將探討可能引起這種錯誤的原因,并提供具體的代碼示例來解決這個問題。問題分析當我們在瀏覽
![流媒體服務器拋出錯誤[修復]](https://img.php.cn/upload/article/000/465/014/171133083740341.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
你得到的流媒體服務器在你的電腦上拋出了一個錯誤嗎?Stremio是一個跨平臺的視頻流媒體服務,你可以使用它來流媒體和觀看電影、電視節(jié)目、直播電視等。一些用戶報告說,在嘗試啟動應用程序時出現(xiàn)此錯誤。錯誤可能在多種情況下出現(xiàn),包括互聯(lián)網(wǎng)和服務器問題。使用Stremio的web版本時也可能遇到此錯誤。防病毒軟件或防火墻的干擾也可能導致錯誤發(fā)生。無論何種情況,您都可以根據(jù)本指南來修復這個問題。流媒體服務器拋出錯誤在Windows上運行Stremio應用程序時,可能會遇到“Stremio流媒體服務器拋出錯
