In meiner Anwendung habe ich ein Modell namens Benutzer, wo ich ein Szenario für Validierungen implementiert haben.Yii2 Modell mit Szenarien speichern alle außer das Passwort-Feld
Mit dieser Konfiguration kann ich einen neuen Benutzer erstellen, löschen und alle Felder außer 'password' aktualisieren.
Dies ist die Aktion in meinem Controller:
public function actionUpdate($id)
{
$user = User::findOne($id);
if($user->load(Yii::$app->request->post())&& $user->validate()) {
$user->update();
$this->redirect(\yii\helpers\Url::toRoute('index'));
}
return $this->render('update',[
'user' => $user,
]);
}
i geprüft habe bereits, dass das Feld ‚Passwort‘ auf Post-Parametern mit Erfolg geführt wird.
und das ist meine Ansicht:
<h1> Edit User </h1>
<?php
$form = ActiveForm::begin([
'id' => 'active-form',
'options' => [
'class' => 'form-horizontal',
'enctype' => 'multipart/form-data'
],
]);
?>
<?= $form->errorSummary($user); ?>
<?= $form->field($user, 'name') ?>
<?= $form->field($user, 'surname') ?>
<?= $form->field($user, 'username') ?>
<?= $form->field($user, 'email') ?>
<?= $form->field($user, 'password')->passwordInput() ?>
<?php if(Yii::$app->user->identity->id_role === User::USER_ADMIN): ?>
<?= $form->field($user, 'id_role')->dropDownList(
Role::find()->select(['name','id'])->indexBy('id')->column(),
['prompt'=>'Select a role']
);
?>
<?php endif; ?>
<div class="form-group">
<?= Html::submitButton('Save the user', ['class' => 'btn btn-success']) ?>
</div>
<?php ActiveForm::end(); ?>
Ich weiß wirklich nicht, warum ich immer diese Fehlermeldung
Entfernen Sie '' on '=> self :: SCENARIO_RESET_PASSWORD] 'und prüfen Sie einmal. –