簡體   English   中英

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");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM