Привет, ребята, я пытаюсь создать собственное поле ошибок для всех моих моделей, где в этом поле будут содержаться все ошибки, которые когда-либо были текущим контроллером/действием. Например, например, в моем main.php:
<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>
мой вопрос: как я это сделаю? есть встроенный метод, который получает текущие ошибки моделей? должен ли я создать виджет для этого?
Заранее спасибо..
Если вам нужны все ошибки для модели, используйте $model->getErrors();
<div id="my_custom_error_field">
<?php
$errors = $model->getErrors();
foreach($errors as $key => $error) {
// echo out to page
}
?>
</div>
Если вы используете 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(); ?>