2012-12-24 83 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表單小部件。