0

大家好,我正在尝试为我的所有模型创建一个自定义错误字段,该字段将包含所有错误,无论当前控制器/操作是什么......例如在我的 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>

我的问题是我将如何做到这一点?是否有内置方法可以获取当前模型错误?我应该为此创建一个小部件吗?

提前致谢..

4

2 回答 2

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(); ?>
于 2013-09-24T03:11:27.727 回答
0

如果您想要模型的所有错误,请使用$model->getErrors();

<div id="my_custom_error_field">
    <?php 
        $errors = $model->getErrors();
        foreach($errors as $key => $error) {
            // echo out to page
        }
    ?>
</div>
于 2013-09-24T03:50:08.473 回答