2012-01-12 69 views
1

我是Yii的新手。我創建了一個用戶可以更改密碼的頁面。Yii顯示和驗證字段中不存在

因此,在我changePassword觀點,我有:

<div class="row"> 
    <?php echo $form->labelEx($model,'oldpwd'); ?> 
    <?php echo $form->textField($model,'oldpwd'); ?> 
    <?php echo $form->error($model,'oldpwd'); ?> 
</div> 

<div class="row"> 
    <?php echo $form->labelEx($model,'pwd'); ?> 
    <?php echo $form->textField($model,'pwd'); ?> 
    <?php echo $form->error($model,'pwd'); ?> 
</div> 

<div class="row"> 
    <?php echo $form->labelEx($model,'pwd_repeat'); ?> 
    <?php echo $form->passwordField($model,'pwd_repeat'); ?> 
    <?php echo $form->error($model,'pwd_repeat'); ?> 
</div> 

現在很明顯,我得到一個錯誤,因爲只有場「PWD」是表中,從而在模型中。我是MVC框架的新手,可以在這裏使用一些幫助。由於

+0

你能不能顯示完整的錯誤/異常的說明? – 2012-01-12 13:12:10

回答

1

聲明它們在你的模型爲模型一的財產。 。

public $old_pwd; 
public $pwd; 
public $pwd_repeat; 

至於你問的這些型號標籤attributes..define他們在你attributeLabels功能模型..

public function attributeLabels() 
{ 
    return array(
     'old_pwd'=>'Old Passw....', 
        '.....same way for all those who are not already there..' 
    ); 
} 

聲明它們在安全規則如果需要的話......

+0

謝謝你。它的工作。 – ajaybc 2012-01-12 13:38:08

0

以下行添加到您的模型

public $old_pwd; 
public $pwd_repeat; 

我們指示的Yii使用這個字段作爲虛擬領域,而不是搜索的數據庫字段

+0

謝謝你的工作 – ajaybc 2012-01-12 13:38:53

+0

如果它是有用的投票我 – 2012-01-12 13:48:33

+0

對不起。因爲投票需要15代表最低:( – ajaybc 2012-01-12 14:04:01