Captcha in Portlet

I’m using portlet to display contact form - the very same as is on static page which comes generated as standard. I’m using the same ContactForm model. The form displays but captcha is not displaying and reports “CCaptchaValidator.action “captcha” is invalid. Unable to find such an action in the current controller.”

I’m new to yii so it takes awfully lot of time to figure everything out. Any quick advice what I shell do to make it working?

Best!


class ContactFormCard extends CPortlet

{

    public $title='Contact';

 

    protected function renderContent()

    {

        $model=new ContactForm;

        if(isset($_POST['ContactForm']))

        {

            $model->attributes=$_POST['ContactForm'];

            if($model->validate())

                $this->controller->refresh();

        }

        $this->render('contactFormCard',array('model'=>$model));

    }

	

		/**

	 * This is the action to handle external exceptions.

	 */

	public function actionError()

	{

	    if($error=Yii::app()->errorHandler->error)

	    {

	    	if(Yii::app()->request->isAjaxRequest)

	    		echo $error['message'];

	    	else

	        	$this->render('error', $error);

	    }

	}

	

	/**

	 * Declares class-based actions.

	 */

	public function actions()

	{

		return array(

			// captcha action renders the CAPTCHA image displayed on the contact page

			'captcha'=>array(

				'class'=>'CCaptchaAction',

				'backColor'=>0xFFFFFF,

			),

		);

	}

	

	protected function renderDecoration(){}

}

can you paste you controller code please?

yeah, I did.

I tried to put there actions() method -the result is that it is not giving me any errors but, renders black page.

are you rewriting your urls?