首页 > 解决方案 > 闪烁消息不起作用,但错误起作用

问题描述

我想用成功消息将某人重定向回来。管理员填写表单以创建新用户,当表单未正确填写时,验证器将显示错误消息发送回用户。但是,当我手动想向某人发送成功消息时,该消息不会显示。

message.blade.php

@if (count($errors) > 0)
@foreach ($errors->all() as $error)
    <div class="alert alert-danger">
        {{$error}}
    </div>
@endforeach
@endif

@if (session('success'))
    <div class="alert alert-success">
        {{session('success')}}
    </div>
@endif

@if (session('error'))
    <div class="alert alert-danger">
       {{session('error')}}
    </div>
@endif

这就是我向用户发送成功消息的地方:

public function store(Request $request)
{
    if($request->has('generate')){
        $request->merge(['password' => $this->randomPassword()]);
        $request->merge(['password_confirmation' => $request->password]);
    }

    $request->validate([
        'name' => 'required|max:255|string',
        'email' => 'required|max:255|string|email|unique:users',
        'password' => 'required|string|min:8|confirmed'
    ]);

    User::create([
        'name' => $request['name'],
        'email' => $request['email'],
        'password' => Hash::make($request['password']),
    ]);

    if($request->has('generate')){
        return back()->with('succes', 'Password:' . $request->password);
    }

    return back()->with('succes', 'User created');
}

只有验证器创建的错误消息才会显示。

标签: phplaravel

解决方案


您的控制器中有错字,应该是success,不是succes

 if($request->has('generate')){
        return back()->with('success', 'Password:' . $request->password);
    }

    return back()->with('success', 'User created');

推荐阅读