Php Yii确认密码字段不工作

Php Yii确认密码字段不工作,php,yii,Php,Yii,我是yii的新手,我花了这么多时间对这个非常简单的功能进行故障排除,这让我很沮丧。有人能帮我解释一下为什么它总是说“密码必须准确地重复。”甚至我也跟着教程。看起来确认密码字段尚未分配给模型 用户模型: class User extends CActiveRecord { public $confirm_password; ... public function rules() { ... array('confirm_password', 'safe'), array('password',

我是yii的新手,我花了这么多时间对这个非常简单的功能进行故障排除,这让我很沮丧。有人能帮我解释一下为什么它总是说“密码必须准确地重复。”甚至我也跟着教程。看起来确认密码字段尚未分配给模型

用户模型:

class User extends CActiveRecord
{

public $confirm_password;
...

public function rules()
{
...
array('confirm_password', 'safe'),
array('password', 'compare', 'compareAttribute'=>'confirm_password'),
}
现场控制员

public function actionVerify_token($token){

    ...

    if(isset($_POST['User'])){

        $model->attributes=$_POST['User'];

        if($model->validate()){

            $model->token = null;

            if($model->save()){
             Yii::app()->user->setFlash('success','Password Changed');
            }

        }

    }    

    ...

}
新密码表格:

echo $form->passwordField($model,'password',array('class' => 'form-control input-lg','placeholder' => 'New Password'));

echo $form->passwordField($model,'confirm_password',array('class' => 'form-control input-lg','placeholder' => 'Confirm Password')); 
更新


我能够通过创建一个单独的表单模型来实现这一点,该表单模型专门用于更改密码。奇怪,但没关系。谢谢。

你为什么不
CVarDumper::dump($model,10,true)
看看$model中保存了什么我已经用这个转储了属性。变量转储($model->attributes);我只能看到“密码”字段请在此处显示结果我使用了CVarDumper,我可以看到确认密码字段,但没有添加为属性
([confirm\u password]=>“test”[CActiveRecord:\u new]=>false[CActiveRecord:\u attributes]=>数组('id'=>'4'
当我使用单独的表单模型时,它工作正常。