So erreichte ich den Ajax-Validierungsteil. Zuerst möchte ich sagen, dass ich die Antworten der ähnlichen Frage gelesen habe, aber es hat mir nicht geholfen. Bei der Registrierung Formular Validierung funktioniert gut (wenn ich versuche, Benutzer mit bestehenden Namen zu registrieren es zeigt mir Fehlermeldung), aber wenn ich im Benutzerprofil bin und versuche, seinen Namen mit vorhandenen zu aktualisieren passiert nichts (kein Fehler angezeigt).Ajax-Validierung erforderlich beim Aktualisieren von Benutzerinformationen yii2
Mein Modell UpdateForm.php Regeln:
public function rules()
{
return [
[['email', 'password', 'username'], 'required'],
[['email', 'password', 'username'], 'string', 'max' => 50],
[['image'], 'string', 'max' => 255],
['email', 'email'],
[[ 'email', 'username'], 'unique'],
];
}
Mein Usercontroller Aktion:
public function actionUpdate()
{
$id = \Yii::$app->user->identity->id;
$model = $this->findModel($id);
if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('update', [
'model' => $model,
]);
}
}
jede Beratung schätzen!
Sie verwenden das gleiche Modell und Formular für beide erstellen und aktualisieren –
Vielen Dank! Ich habe mir meinen actionRegister angesehen und jetzt verstanden :) –