In Benutzer Modell I Regel folgende habenyii2 auf Update-Aktion für einzigartiges Attribut
[['username', 'email'], 'unique'],
Was ich tun möchte, ist, um diese Regel bei neuen Benutzererstellung, auf Update zur Verfügung zu stellen (wenn der Benutzer einen anderen Benutzernamen eingegeben oder email um zu überprüfen, ob es einzigartig ist oder nicht). Aber wenn ich den Benutzernamen im aktuellen Benutzermodell nicht ändere (in der Aktualisierungsaktion) gibt es den Fehler "Benutzername ist nicht eindeutig", auch wenn der Benutzer den aktuellen Benutzernamen und die E-Mail nicht bearbeitet und nur das ausgefüllte Formular (mit den aktuellen Werten) speichert.
Zum Beispiel ist Ihr Benutzername: user1. Sie haben die Aktualisierungsaktion geöffnet und nur Ihr Passwort geändert. In dieser Situation gibt meine Konfiguration user1 ist keine eindeutige Nachricht. Eine andere Situation ist, können Sie Benutzernamen zu ändern: user2 und es ist richtig funktioniert
Hier Aktionen Code:
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);
}
Wie kann ich dieses Verhalten zu verhindern?
Ich versuchte Ihren Fall, aber nicht das gleiche Ergebnis. Zusätzlich ist meine yii2 Version '2.0.11.2'. Welche Version von yii2 verwendest du? – paul
Ich denke es geht nicht um die Version, wir haben die gleiche Version –
Es macht keinen Sinn. Können Sie die Regeln Ihres Modells auflisten? – paul