【问题标题】:Error in creating a simple form in Yii frameworkYii框架创建简单表单时出错
【发布时间】:2013-12-25 17:08:59
【问题描述】:

大家好,我是 Yii 框架的新手。在我使用 CodeIgniter 作为我的框架之前。现在我决定改用 Yii。由于其惊人的功能。但是我很难研究它。现在我正在从头开始创建一个简单的表单。我没有使用 gii 工具。 我的问题是,如果我包含一个文本框,则输出是一个例外。在这里。

CException

Property "ContactForm.username" is not defined.

C:\xampp\htdocs\yii\framework\web\helpers\CHtml.php(2529)

我不知道这是什么意思。我想我需要声明输入的名称。但是怎么做呢?

这是我的代码

控制器

<?php

    class BlogController extends Controller {

        public function actionIndex() {

            $model = new ContactForm;

            $this->render('index', array( 'model' => $model ));

        }

    }

?>

型号

<?php

    class Blog extends CFormModel {

        public $username;

        public function rules() {

            return array (

                array ( 'username', 'required' ),

            );

        }

    }

?>

查看

<?php

    $this->breadcrumbs = array (
        'Blog',
    );

?>
<div class="form">

    <?php echo CHtml::beginForm(); ?>

        <?php echo CHtml::errorSummary( $model ); ?>

        <div class="row">
            <?php echo CHtml::activeLabel( $model, 'username' ); ?>
            <?php echo CHtml::activeTextField($model,'username') ?> <!-- ERROR IF I INCLUDE THE TEXTBOX. WHY? -->
        </div>

    <?php echo Chtml::endForm(); ?>

</div>

【问题讨论】:

    标签: php yii


    【解决方案1】:
    Property "ContactForm.username" is not defined.
    

    这意味着您的 ContactForm 没有用户名属性。所以你必须在ContactForm 中定义用户名属性。

    class Blog extends CFormModel {
    
            public $username;
    
            public function rules() {
    
                return array (
    
                    array ( 'username', 'required' ),
    
                );
    
            }
    
        }
    

    如我所见,您在博客模型中定义了 username

    顺便说一句,我猜你想在 actionIndex() 中使用 Blog 模型而不是 ContactForm

    <?php
    
        class BlogController extends Controller {
    
            public function actionIndex() {
    
                $model = new Blog;
    
                $this->render('index', array( 'model' => $model ));
    
            }
    
        }
    
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-18
      • 2012-05-15
      • 1970-01-01
      相关资源
      最近更新 更多