我是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框架的新手,可以在这里使用一些帮助。感谢
在模型中将它们声明为model First的属性。。
public $old_pwd;
public $pwd;
public $pwd_repeat;
正如您所询问的这些属性的模型标签。。在模型中的attributeLabels函数中定义它们。。
public function attributeLabels()
{
return array(
'old_pwd'=>'Old Passw....',
'.....same way for all those who are not already there..'
);
}
如果需要,在规则中声明它们是安全的。。。
在您的模型中添加以下行
public $old_pwd;
public $pwd_repeat;
我们指示Yii使用该字段作为虚拟字段,而不是在数据库字段