Controller classına aşağıdaki fonksiyon ekle
public function actions() {
return (isset($_POST['ajax']) && $_POST['ajax'] === 'registration-form') ? array() : array(
'captcha' => array(
'class' => 'CCaptchaAction',
'backColor' => 0xFFFFFF,
),
);
}
view dosyana da yani form verilerinin olduğu bölümede aşağıdaki kodu ekle
<?php echo $form->labelEx($model, 'verifyCode'); ?>
<?php $this->widget('CCaptcha',
array('imageOptions' =>
array('class' => 'captcha-img'),
'buttonLabel' => 'yenile',
'buttonType' => 'link', // buttonda olabilir
'buttonOptions' => array( 'class' =>'captcha-renew', 'title' => 'Kodu yenile.')
)); ?>
<?php echo $form->textField($model, 'verifyCode', array('class' => 'text captcha-text')); ?>
<?php echo $form->error($model, 'verifyCode'); ?>
girilen güvenlik kodunun kontrolü içinde model classındaki rules fonksiyonu için e aşağıdaki kodu eklemen lazım.
if (isset($_POST['ajax']) && $_POST['ajax']==='registration-form')
return $rules;
else
array_push($rules,array('verifyCode', 'captcha', 'allowEmpty'=> false));
return $rules;