【发布时间】:2015-10-05 04:28:09
【问题描述】:
我正在使用 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":["The email has already been taken."]}
您可以看到我不想要的括号和大括号,我只想从验证失败中获取错误消息。有什么想法,帮忙?
【问题讨论】:
-
你能
print_r($error);和print_r($error_bug);吗?