Laravel 5验证消息返回一些数组


laravel 5 validation message return some array

我在laravel验证所以下面是我的代码

//error holder
                $error = array();
                $validator = Validator::make($request->all(),[
                    'email' => 'email|unique:users',
                    'username' => 'required|regex:/^[a-zA-Z0-9_]+([-.][a-zA-Z0-9_]+)*$/',
                    'new_password' => 'required',
                    'confirm_password' => 'required',
                    'full_name' => 'required',
                    'role' => 'required',
                    'status' => 'required',
                ]);
                if ($validator->fails()){ 
                    array_push($error, $validator->messages());
                }
$msg = "Ops seems like there's an error: ";
                    foreach($error as $error_bug){
                        $msg .= $error_bug . ", ";
                    }
//return error
return $msg;

因此,首先我创建了一个空数组,然后将错误消息推送到数组并循环遍历对象数组并将其返回给客户端。一切正常,除了一个丑陋的东西,它呈现给我这个

Ops似乎有一个错误:{"email":["电子邮件已被占用。"]}

正如你所看到的,我不想要括号和大括号,我只想从验证失败中获得错误的消息。有什么想法吗?

@if (count($errors) > 0) <div class="alert alert-danger">
<ul> @foreach ($errors->all() as $error)
<li><b>Ops, something went wrong.</b></li>
<li>{{ $error }}</li>
@endforeach
</ul> </div> @endif

这个方法的优点是不需要重复不必要的代码。

更新:

$msg = $validator->errors()->all("Ops seems like there's an error: :message");