本文描述yii验证码的实现,仅仅是笔者应用的一个小例子,网上也有,总结一下,希望帮助到有需要的Yii爱好者。1、笔者用的是用户登录,所以在sitecontroller中加以下代码:
| 1 2 3 4 5 6 7 8 9 10 11 12 | publicfunctionactions() { returnarray( // captcha action renders the CAPTCHA image displayed on the contact page 'captcha'=>array( 'class’=>'CCaptchaAction', 'backColor'=>0xFFFFFF,//背景颜色 'minLength'=>4,//最短为4位 'maxLength'=>4,//是长为4位 'transparent'=>true,//显示为透明,当关闭该选项,才显示背景颜色 ), ); |
2、在表单文件中加如下代码(视图文件如login.php):
| 1 2 3 4 5 6 7 8 9 10 11 | labelEx($model,’verifyCode’); ?> widget(‘CCaptcha’); ?> textField($model,’verifyCode’); ?> 输入验证码 error($model,’verifyCode’); ?> |
3、在Loginform模型(LoginForm.php)中 加入如下代码,主要是添加属性字段,否则会报错(不存在的属性 )
通过上面的操作实际上我们已经可以看到验证码了,但是在操作的时候我们会发现不输入验证码仍然可以,原因在于我们还没有指定验证是必须的,在LoginForm.php中加上array(‘verifyCode’,'required’)来指定必须,