我是Yii的新手。我創建了密碼更改表單,頁面名稱更改。在該頁面中有三個字段舊密碼,新密碼和確認新密碼字段。Yii驗證的模型規則不起作用
我的規則
public function rules() {
return array(
array('old_password, confirm_password, str_user_password', 'required',
'on' => 'change'),
array('confirm_password', 'compare', 'compareAttribute' => 'str_user_password',
'message' => 'Password Must Be same.', 'on' => 'change'),
);
}
控制器
public function actionChange($id)
{
$model=new User('change');
//$model->setScenario('change');
$model=$this->loadModel($id);
if(isset($_POST['User']))
{
$model->attributes=$_POST['User'];
if($model->save())
$this->redirect(array('view','id'=>$model->int_user_id));
}
$this->render('change',array(
'model'=>$model,
));
}
創建和更新頁面的驗證工作。我已經將它複製到更新頁面,它正在完美地工作。我認爲這是場景問題。請幫我找到一個解決方案。
我認爲問題放在上面不是設置場景你loadModel位置。 loadmodel創建新模型,並且您的模型場景被此 –
@naveengoyal nope覆蓋。我認爲它不會解決問題。 –
你可以發佈表單和整個模型類嗎? –