2011-03-02 41 views

回答

0

如果代碼在測試環境中運行,我完成該操作的方法根本就不是使用驗證碼。這樣你在測試過程中不必擔心它。儘管我仍然在開發環境中運行它,因爲至少在那時我仍然可以確保它一次又一次地工作。

雖然這不是最好的解決方案。我本來希望reCaptcha能夠讓你定義一個額外的「測試」API密鑰,除了密鑰總是會被驗證,所有的東西都可以正常工作,但是他們沒有最後一次檢查。

我想下一個最好的事情是編寫reCaptcha小部件的驗證器,以便如果環境是「測試」或基於某些應用程序配置設置,則只需通過驗證而不打擾reCaptcha服務器。

我很想聽聽有沒有人有更好的想法。

+0

感謝您的回答。我終於完成了不同的事情 – Faboo03

0

裏德幾個東西,比如擴展驗證,或小部件測試方面,但最後還是我剛纔做的是: 在app.yml:

test: 
    .general: 
     recaptcha_enabled: false 

在我的形式:

if(sfConfig::get('app_recaptcha_enabled', true)) 
    $this->validatorSchema['captcha'] = new sfValidatorReCaptcha(array('private_key' => sfConfig::get('app_recaptcha_private_key'), "required" => true)); 
else 
    $this->validatorSchema['captcha'] = new sfValidatorString(array('required' => false)); 

就是這樣。 app.yml是環境敏感的,所以你只需要爲你的環境指定值。

希望這是去某人!