0
在用戶模式我有以下規則yii2
[['username', 'email'], 'unique'],
我想要做的是,使這種統治期間新用戶創建可用,在更新(當用戶輸入其他用戶名或電子郵件來檢查它是否唯一)。但是如果我不更改當前用戶模型中的用戶名(在更新操作中),即使用戶不編輯當前用戶名和電子郵件並僅保存填充表單(使用當前值),也會給出錯誤「用戶名不是唯一的」。
例如,您的用戶名是:user1。您只打開了更新操作並更改了密碼。在這種情況下,我的配置給user1不是唯一的消息。另一種情況是,您可以更改用戶名:用戶2,它的正常工作
下面是操作的代碼:
public function actionMe()
{
$data["model"] = $model = $this->findModel(Yii::$app->user->id);
if ($model->load(Yii::$app->request->post())) {
if (trim($model->password) != "")
$model->setPassword($model->password);
if ($model->validate() && $model->save())
return $this->redirect(['site/index']);
}
return $this->render('me', $data);
}
如何防止這種行爲?
我試過你的情況,但沒有得到相同的結果。另外我的yii2版本是'2.0.11.2'。您使用的是哪個版本的yii2? – paul
我認爲這不是版本,我們有相同的版本 –
它沒有任何意義。你能列出你的模型的規則嗎? – paul