yii2中未设置操作成功文本
不知何故,我的yii2中未设置操作成功文本,yii2,Yii2,不知何故,我的actionResetPassword成功消息没有显示。有人能解释一下我做错了什么吗 public function actionChangePassword() { $user = User::loadModel(Yii::$app->user->identity->id); $user->scenario = 'changePassword'; if ($user->load(Yii::$app->request-&
actionResetPassword
成功消息没有显示。有人能解释一下我做错了什么吗
public function actionChangePassword()
{
$user = User::loadModel(Yii::$app->user->identity->id);
$user->scenario = 'changePassword';
if ($user->load(Yii::$app->request->post())) {
if ($user->validatePassword($user['old_password'])) {
$user->setPassword($user['new_password']);
$this->saveObject($user, Yii::t('app', 'Your password was changed successfully.'), Yii::t('app', 'Something is wrong'));
$this->goHome();
} else {
Yii::$app->getSession()->setFlash('error', 'You have entered wrong old password');
}
}
return $this->render('change-password', [
'model' => $user,
]);
}
saveObject()函数:
function saveObject($object = NULL, $successMessage = '', $errorMessage = '')
{
if ($object->save()) {
Yii::$app->getSession()->setFlash('success', $successMessage);
} else {
Yii::$app->getSession()->setFlash('error', $errorMessage);
}
return 1;
}
它重定向到我的主页,但不知何故没有显示我的Yii:t
消息。为什么?检查布局(例如:views\layout\main.php)中是否有
use common\widgets\Alert;
....
<?= Alert::widget() ?>
在您的视图中请更新您的问题并添加您的saveObject函数..问题已更新您始终有错误消息或您始终没有消息?我根本没有收到任何消息。我没有消息,可能是因为您没有用于显示更改的小部件(或som代码)而看不到消息。。您使用什么来显示警报消息?
var_dump( Yii::$app->getSession()->getFlash());