Php Laravel闪存消息失败
我使用的是Laravel5.1和flash消息。我想在验证器失败时向用户显示一条flash消息 我的代码如下所示: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
/*
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