2013-09-23 4 views
0

Привет, ребята Я пытаюсь создать собственное поле ошибок для всех моих моделей, где в этом поле будут содержаться все ошибки, какие бывают в настоящее время контроллером/действием .. как, например, в моем основном. php:Yii Пользовательское поле ошибки

<header> 
... 
</header> 

<div id="container"> 
    <div id="my_custom_error_field"> 
     <?php //all models error goes in here ?> 
    </div> 

    <div id="dynamic_content"> 
     <?php echo $content; ?> 
    </div> 
</div> 

<footer> 
... 
</footer> 

мой вопрос: как я это сделаю? есть встроенный метод, который получает текущие ошибки моделей? Должен ли я создать виджет для этого?

Заранее спасибо ..

ответ

0

Если вы используете виджет CActiveForm, вы можете использовать $form->errorSummary($model);:

<?php $form=$this->beginWidget('CActiveForm', array(
    'id'=>'my-form', 
    'enableClientValidation'=>false, 
    'clientOptions'=>array(
     'validateOnSubmit'=>true, 
    ), 
)); ?> 

    <div id="my_custom_error_field"> 
     <?= $form->errorSummary($model); ?> 
    </div> 

    # The rest of the form goes here... 

    <?php echo CHtml::submitButton('Submit', array('class'=>'btn btn-primary')); ?> 

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

да Я использую CActiveForm, но мне нужно сделать все, чтобы получить всю ошибку и отобразить ее на шаблоне main.php, а не на представлении моделей .. так будет отображаться на макете динамически .. что лет u предполагают, будут отображаться только на определенном контроллере/действии. Мне нужно было отображать эти ошибки на отдельном представлении, в частности, «макет», который не является частью моего представления моделей. – NEWBIE

0

Если вы хотите, чтобы все ошибки для модели, использующие $model->getErrors();

<div id="my_custom_error_field"> 
    <?php 
     $errors = $model->getErrors(); 
     foreach($errors as $key => $error) { 
      // echo out to page 
     } 
    ?> 
</div> 
+0

Могу ли я использовать getErrors на главном .php? – NEWBIE

+0

и как я смогу получить текущую модель? – NEWBIE

+0

Передайте модель на вид через контроллер ??? –

Смежные вопросы