Yii自定义错误字段

时间:2013-09-23 22:36:03

标签: php html yii

大家好我想为我的所有模型创建一个自定义错误字段,在这个字段中将包含所有当前控制器/操作的错误...例如在我的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>

我的问题是我该怎么做? 是否有一个内置的方法来获取当前模型的错误? 我应该为此创建一个小部件吗?

提前致谢..

2 个答案:

答案 0 :(得分: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(); ?>

答案 1 :(得分:0)

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

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