【发布时间】:2018-03-11 06:05:12
【问题描述】:
大家好,我正在使用 Laravel 5.5,在这里我需要为我的 API 显示验证消息,直到现在我已经这样做了
$validator = Validator::make($request->all(),[
'first_name' => 'email|required',
'last_name' => 'nullable',
'email' => 'email|required',
'mobile_no' => 'nullable|regex:/^[0-9]+$/',
'password' => 'required',
]);
if($validator->fails)
{
$this->setMeta('status', AppConstant::STATUS_FAIL);
$this->setMeta('message', $validator->messages()->first());
return response()->json($this->setResponse(), AppConstant::UNPROCESSABLE_REQUEST);
}
由于 Laravel 5.5 有一些很棒的验证功能,我希望像这样验证我的请求
request()->validate([
'first_name' => 'email|required',
'last_name' => 'nullable',
'email' => 'email|required',
'mobile_no' => 'nullable|regex:/^[0-9]+$/',
'password' => 'required',
]);
但是我在这里遇到了问题,我应该怎么做才能检查验证是否失败?就像我在 if($validator->fails) 所做的那样
【问题讨论】:
-
检查documentation,它在以下部分中有说明:显示验证错误和AJAX请求和验证!!
-
我不想在视图中显示它们我需要将其发送回移动设备转换为
json() -
在 AJAX 请求和验证 部分中说:
Laravel generates a JSON response containing all of the validation errors. This JSON response will be sent with a 422 HTTP status code -
如果你想要你的验证信息,你可以使用这个 return Response::json(array('success' => 0, 'msg'=> $validation->getMessageBag()->first( )),200);
-
@Maraboc 这是否适用于邮递员请求?或根据 API 请求,我正在研究 API 而不是 AJAX 兄弟
标签: php laravel validation laravel-validation laravel-5.5