2012-12-24 59 views
5

我有以下形式:警予AJAX验证错误显示

$form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
      'id'=>'new-agenda-entry', 
      'enableAjaxValidation'=>true, 
      'action'=>'')); ?> 
     <div class="four columns"> 
      <div class="right top5 sufix10"> 
       <?php echo $form->labelEx($model,'eventTime'); ?> 
       <?php $this->widget('zii.widgets.jui.CJuiDatePicker', array(
       'name'=>'UserAgenda[eventTime]', 
       'model'=>$model, 
       'options'=>array(
        'dateFormat'=>'yy-mm-dd', 
        'minDate'=>'new Date()', 
       ) // jquery plugin options 
      ));?> 
      <?php echo $form->error($model, 'eventTime'); ?> 
      </div> 
      <div class="right top5 sufix10"> 
       <?php echo CHtml::dropdownList('eventTime_hour', false, $this->getHourArray()); ?> 
       <?php echo CHtml::dropdownList('eventTime_min', false, array('00'=>'00', '30'=>'30')); ?> 
      </div> 
     <?php echo $form->labelEx($model,'note'); ?> 
     <?php echo $form->textField($model, 'note');?> 
     <?php echo $form->error($model, 'note'); ?> 

该模型被成功验证的服务器上,我可以看到萤火虫的响应:

{"UserAgenda_eventTime":["Event time cannot be blank."],"UserAgenda_note":["Note cannot be blank."]} 

消息似乎罚款,html也是如此,但是由yii生成的隐藏输入仍然是隐藏的和空的。

+0

确保在模型规则中验证的参数是安全的 – sdjuan

+0

我该怎么做? – Samson

+0

你会看你的模型规则。但是,由于您可以在Firebug中看到错误消息,因此您的规则似乎已具有这些参数,请忽略我的初始评论。我错了,这与你的规则无关。 – sdjuan

回答

1

在动作可能(创建或更新)你必须取消注释// $this->performAjaxValidation($model);像这样你有一个ajax验证,如果问题仍然存在我认为把它发布到yiiibootstrap在yii论坛讨论我更好,我看到你使用yiibootstrap,尝试使用默认的yii表单小部件。