Php Laravel闪存消息失败

Php Laravel闪存消息失败,php,laravel,flash-message,Php,Laravel,Flash Message,我使用的是Laravel5.1和flash消息。我想在验证器失败时向用户显示一条flash消息 我的代码如下所示: /* Validation */ $rules = array( 'username' => 'alpha_numeric_spaces|required|min:3|max:12|not_in:edit,password|unique:users,username', 'email' => 'email|unique:users

我使用的是Laravel5.1和flash消息。我想在验证器失败时向用户显示一条flash消息

我的代码如下所示:

/* 
    Validation
*/

$rules = array(
    'username'  => 'alpha_numeric_spaces|required|min:3|max:12|not_in:edit,password|unique:users,username', 
    'email'     => 'email|unique:users,email', 
    'password'  => 'required|min:6|confirmed',
    'rules'     => 'required|'

);

$validator = Validator::make(Input::all(), $rules);

if ($validator->fails()) {
    flash()->error($validator->messages());
    return redirect()->back()->withInput();
}
但我在flash消息中收到错误的文字:

{
    "username": ["The username has already been taken."],
    "email": ["The email has already been taken."]
}
我的问题是:我收到了格式错误的消息

“用户名”:[“用户名已被使用。”]

而不是

用户名已被使用

问题图像:

尝试在控制器中使用
会话::flash

Session::flash('error', $validator->messages());
和刀片模板中的会话::get():

@if (Session::has('error'))
    <div class="alert alert-warning" align="center">{{ Session::get('error') }}</div>
@endif 

“你需要在刀片中使用foreach。@汤米,如果我的答案有帮助,请投票选出最佳答案,感谢我抽出时间回答。谢谢你的回答。”。问题是我收到的是格式错误的消息“username”:[“用户名已被使用。”],”而不是“用户名已被使用”。如果您收到的对象与帖子中的相同,则添加的代码应该可以工作。请尝试我的代码并告诉我它是否有效。如果在控制器中使用
会话::
,在视图中使用
@foreach
代码,则无法获得相同的消息。您将看到另一种错误(由于错误的迭代逻辑),或者它会起作用,但您永远不会得到
{“username”:[“username已经被占用了。”],“email”:[“email已经被占用了。”]}
@foreach (Session::get('error') as $er => $errorMessage )
    {{ $errorMessage[0] }}
@endforeach