[英]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.