2013-09-21 28 views
1

下面我使用CActiveForm来呈现具有相同模型的多个实例的表单。在提交表单时,会显示个别属性的ajax验证错误,但不会显示error summary。可能的问题是什么?非常感谢错误汇总未在CActiveForm中显示 - Yii

<?php 
    $form=$this->beginWidget('CActiveForm', array(
     'id'=>'task-form', 
     'enableClientValidation'=>false, 
     'enableAjaxValidation' =>true, 
     'clientOptions'=>array(
      'validateOnSubmit'=>true, 
      'validateOnChange'=>false, 
     ), 
    )); 
    Yii::app()->session['form'] = $form; 
    ?> 

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

    <ul class="tasks"> 
     <?php foreach($models as $index=>$model): ?> 
      <?php $this->renderPartial('_task', array(
       'model' => $model, 
       'index' => $index, 
       'form' => $form, 
      )); ?> 
     <?php endforeach; ?> 
    </ul> 

    <div class="row buttons"> 
     <?php echo CHtml::submitButton('Save')?> 
    </div> 

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

回答

0

那么CActiveForm的极端情况。为什么你需要这么多的表单,如数组。你可以在单一表格中使用它们。但问题再次归因于多重形式的实例。这里

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

使用它,就像这 -

foreach($models as $model) 
{ 
echo $form->errorSummary($model); 
} 

但同样需要改变的实现,而避免使用许多重复的形式。

干杯

+0

它仍然无法正常工作。 – sanchitkhanna26

0

试图改变

'enableClientValidation'=>true, 

或尝试使用

<?php echo CHtml::errorSummary(array($a,$b)); ?>