这是我的模特: * /
class Contact extends BaseContact
{
public $verifyCode
.....
public function rules()
{
return array(
.......
array('verifyCode', 'captcha', 'captchaAction'=>'site/captcha', 'message'=>'Captcha invalid!')
);
}
...
这是我的控制者:
if(!$model->validate()){
.....
}else{
if($model->save(false)){
}
这是我的观点:
$this->widget('CCaptcha',
array(
'captchaAction' =>'site/captcha',
'buttonOptions' => array('class'=>'test','style' => 'display:block'),
'buttonLabel' => 'Schimbă codul'
)
);
事实是它总是 model-> validate()是false。为什么?
答案 0 :(得分:0)
尝试在验证规则中添加'allowEmpty'=>!CCaptcha::checkRequirements()
:
array('verifyCode', 'captcha', 'captchaAction'=>'site/captcha', 'message'=>'Captcha invalid!', 'allowEmpty'=>!CCaptcha::checkRequirements());
我不确定,但我认为这可以解决您的问题。