我想在错误验证后避免重定向。
我显示了帖子列表,用户可以在点击按钮后发表评论。
这会在选择的帖子下显示评论表。
如果评论验证出错,我想留在页面上并在错误字段旁边显示错误(默认情况下)。
以下是我对该评论的控制器操作
public function actionCreate()
{
$model=new Comment;
if(isset($_POST['Comment']))
{
$model->attributes=$_POST['Comment'];
if($model->save()) {
$this->redirect(Yii::app()->request->urlReferrer);
} else {
Yii::app()->end();
}
}
$this->render('create',array(
'model'=>$model,
));
}
和视图
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'comment-form',
'enableClientValidation'=>true,
)); ?>
<p class="note">Fields with <span class="required">*</span> are required.</p>
<?php echo $form->errorSummary($model); ?>
<div class="row">
<?php echo $form->labelEx($model,'comment'); ?>
<?php echo $form->textField($model,'comment',array('size'=>60,'maxlength'=>140)); ?>
<?php echo $form->error($model,'comment'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); ?>
</div>
<?php $this->endWidget(); ?>
</div><!-- form -->
目前,使用Yii :: app() - &gt; end();它显示一个空白页面,如果我在else部分没有做任何事情,那么它会继续并显示创建视图(失去一些装饰)
---添加更多信息
实际上,我在页面中的内容是
Post 1
(Comment form)
Commment : ........
Save
Post 2
Post 3
当我点击保存而不发表评论时,我想留在这个页面中,让用户可以看到错误的位置(缺少评论)并再次保存。
你能告诉我我的错误在哪里吗?
感谢您的帮助
答案 0 :(得分:0)