拉拉维尔闪存消息失败


Laravel flash messages fail

我正在使用 laravel 5.1 和 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();
}

但是我在带有错误文本的闪存消息中收到错误:

{
    "username": ["The username has already been taken."],
    "email": ["The email has already been taken."]
}

我的问题是:我收到格式不正确的消息。

"用户名": ["用户名已被占用。

而不是

用户名已被占用。

问题图像:这里

尝试在控制器中使用Session::flash

Session::flash('error', $validator->messages());

并在边栏选项卡模板中Session::get()

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

这应该有效,但如果您仍然收到完全相同的错误,请尝试迭代:

@foreach (Session::get('error') as $er => $errorMessage )
    {{ $errorMessage[0] }}
@endforeach