CActiveForm和验证码的问题

我有个登陆窗口,




<div class="wide form">

	<?php $form=$this->beginWidget('CActiveForm', array('id'=>'login-form','enableAjaxValidation'=>true)); ?>

	

	<?php echo $form->errorSummary($model); ?>

	<?php echo CHtml::hiddenField('referUrl',Yii::app()->getRequest()->getParam('referUrl')); ?>

	

	<div class="row">

		<?php echo $form->labelEx($model,'username'); ?>

		<?php echo $form->textField($model,'username') ?>

		<?php echo $form->error($model,'username') ?>

	</div>

	

	<div class="row">

		<?php echo $form->labelEx($model,'password'); ?>

		<?php echo $form->passwordField($model,'password') ?>

		<?php echo $form->error($model,'password') ?>

	</div>

	

	<?php if(extension_loaded('gd')): ?>

	<div class="row">

		<?php echo $form->labelEx($model,'verifyCode'); ?>

		<?php echo $form->textField($model,'verifyCode',array('style'=>'ime-mode:disabled')); ?>

		<?php //echo $form->error($model,'verifyCode') ?>

		<div class="prefix"><?php $this->widget('CCaptcha'); ?></div>

		<p class="hint">请填写正确的验证码,不区分大小写</p>

	</div>

	<?php endif; ?>

	

	<div class="row rememberMe prefix">

		<?php echo $form->checkBox($model,'rememberMe'); ?>

		<?php echo $form->labelEx($model,'rememberMe'); ?>

	</div>


	<div class="row buttons">

		<?php echo CHtml::submitButton('',array('class'=>'btn_login')); ?>

	</div>


	<?php $this->endWidget(); ?>


</div>



现在在IE6 IE7下登陆时,即使验证码输入正确,但表单提交后,依然提示验证码出错。在POST后的状态下,再次输入验证码(这里验证码串已经变掉了,照理说,正常情况下,3次连续输入错误后,验证码才会变),就可以登陆了。IE8和FF,暂时未发现问题。

如果把enableAjaxValidation设成false,一切都没有问题!

CActiveForm的文档里专门说过不要对类似的输入进行ajax验证。原因是每次ajax验证都会增加captcha的测试次数。这样即使你最后一次ajax验证完全通过了,也有可能因为刚刚达到验证次数限制而使得之后的post验证失败。

问题我验证的是用户名和密码,并没有验证验证码呀

我有点明白了,谢谢强哥