Forms Yii模型方法加法器不工作

Forms Yii模型方法加法器不工作,forms,yii,Forms,Yii,我对在yii表单中显示错误有疑问 这是我的控制器: 这是我的索引视图: 问题是: “$form->errorSummary($user);”为空 并在“$form->error($user,'username')下显示注释 但如果我查看Firebug,我可以在“响应”选项卡下看到: {“CustomUser_valid_until”:[“valid until”必须为 大于\“20121127\”]} 这是件好事,因为这意味着我的规则很有效。但不显示任何错误。不是这个,甚至我在控制器中添加的错误

我对在yii表单中显示错误有疑问

这是我的控制器: 这是我的索引视图: 问题是: “$form->errorSummary($user);”为空 并在“$form->error($user,'username')下显示注释

但如果我查看Firebug,我可以在“响应”选项卡下看到:

{“CustomUser_valid_until”:[“valid until”必须为 大于\“20121127\”]}

这是件好事,因为这意味着我的规则很有效。但不显示任何错误。不是这个,甚至我在控制器中添加的错误“错误X”也没有显示。。。(我肯定我通过了else语句,我试过了)

那么,有人能想出一个主意吗

谢谢你阅读我的文章,对不起,我的英语水平不高

祝您愉快:)


Michaël

您正在重定向,这意味着将调用一个全新的请求,并删除所有响应

为什么要重定向到“访问/索引”,而不是仅仅调用视图?如果确实需要重定向(当然可以),请尝试设置flash变量,因为它存储在浏览器会话中,并将通过重定向保持不变:

Yii::app()->user->setFlash('username', "Error X");
然后在访问/索引页面上:

<?php if(Yii::app()->user->hasFlash('username')):?>
    <div class="error">
        <?php echo Yii::app()->user->getFlash('username'); ?>
    </div>
<?php endif; ?>

您正在重定向,这意味着将调用一个全新的请求,并删除所有响应

为什么要重定向到“访问/索引”,而不是仅仅调用视图?如果确实需要重定向(当然可以),请尝试设置flash变量,因为它存储在浏览器会话中,并将通过重定向保持不变:

Yii::app()->user->setFlash('username', "Error X");
然后在访问/索引页面上:

<?php if(Yii::app()->user->hasFlash('username')):?>
    <div class="error">
        <?php echo Yii::app()->user->getFlash('username'); ?>
    </div>
<?php endif; ?>


好的,我终于知道哪里出了问题。这是我的CActiveForm中的配置。选项“enableAjaxValidation”在启用“true”时似乎会出现一些问题。我真的不知道为什么,但我以前在登录表单上就已经遇到了这个问题。我会试着解决这个问题。

好的,我终于找到了问题所在。这是我的CActiveForm中的配置。选项“enableAjaxValidation”在启用“true”时似乎会出现一些问题。我真的不知道为什么,但我以前在登录表单上就已经遇到了这个问题。我将尝试解决这个问题。

如果生成的html显示为“无”,请检入firebug?这真的很奇怪。因为在我的响应的HTML标签下,所有内容都是正确的(显示错误),但在我的页面中没有任何内容,当我查看源代码时,甚至没有隐藏的错误。看起来,如果浏览器没有显示serveur在firebug中为其提供的内容,如果html生成时显示为“无”,这真的很奇怪。因为在我的响应的HTML标签下,所有内容都是正确的(显示错误),但在我的页面中没有任何内容,当我查看源代码时,甚至没有隐藏的错误。看起来,如果浏览器没有显示服务器提供给他的内容,只需使用$this->render('access/index',array('user'=>$custom\u user,'tab'=>$tab\u person,);你好,谢谢你们两个都对。实际上我不知道为什么我使用重定向…我用render('index',array('user'=>$custom\u user,'tab'=>$tab\u person,)改变了这一点;但是错误仍然没有出现。但是如果我在“html”选项卡中查看firebug,我可以看到页面上写的错误。这真的很奇怪。是的,只要使用$this->render('access/index',array('user'=>$custom\u user,'tab'=>$tab\u person,);你好,谢谢你们两个都对。实际上我不知道为什么我使用重定向…我用render('index',array('user'=>$custom\u user,'tab'=>$tab\u person,)改变了这一点;但是错误仍然没有出现。但是如果我在“html”选项卡中查看firebug,我可以看到页面上写的错误。真奇怪。
<?php if(Yii::app()->user->hasFlash('username')):?>
    <div class="error">
        <?php echo Yii::app()->user->getFlash('username'); ?>
    </div>
<?php endif; ?>