2012-05-14 3 views
1

나는 recapthca 유효성 검사를 몇 가지 양식에서 해제하려하지만 행운이 없습니다. 나는 항상 "recaptcha_response_field"에서 "당신이 단어를 올바르게 입력하지 않았습니다. 다시 시도하십시오."라는 오류가 나타납니다.cakephp recapthca plugin unset

대부분의 양식에는 recaptcha가 필요하지만 몇 가지를 건너 뛰고 싶습니다. 나는 "MultivalidatableBehavior"http://bakery.cakephp.org/articles/dardosordi/2008/07/29/multivalidatablebehavior-using-many-validation-rulesets-per-model 시도했지만 그 중 하나를 작동시키지 못했습니다.

어쩌면 내가이 일을 할 수있는 방법에 대한 아이디어?

https://github.com/tbsmcd/recaptcha_plugin

감사합니다, 바트

답변

2

당신이 그것을 할 플러그인의 동작을 수정해야 할 것 ...이 당신이 또한 행동을 할 수있는, 그것을 할 수있는 가장 쉬운 방법이 될 것입니다 , 그러나이 방법은 간단하고 쉽습니다.

//Your Controller 
function add(){ 
$this->{$this->modelClass}->reCaptcha = true; 
if(!empty($this->data)){ 
$this->{$this->modelClass}->save($this->data); 
} 
} 

//Edit Recaptcha ValidateBehavior 
function beforeValidate(&$model) { 
if(isset($model->reCaptcha) && $model->reCaptcha){ 
$model->validate['recaptcha_response_field'] = array(
'checkRecaptcha' => array(
'rule' => array('checkRecaptcha', 'recaptcha_challenge_field'), 
'required' => true, 
'message' => 'You did not enter the words correctly. Please try again.', 
), 
); 
} 
}