流明定制验证响应
问题描述:
我想创建一个自定义的响应,如果验证失败的流明。但获得默认响应。这样流明定制验证响应
{
"phone": [
"The phone must be 11 digits."
]
}
这里期待一个响应类似
[
'code' => 406,
'message' => "forbidden",
'errors' => {
"phone": [
"The phone must be 11 digits."
]
},
]
但获得默认响应是什么,我都试过了。
public function validatePhoneNumber(Request $request)
{
try {
$this->validate($request, ['phone' => 'required|digits:11']);
} catch (ValidationException $e) {
return response()->json([
'code' => 406,
'message' => "forbidden",
'errors' => $e->getMessage(),
]);
}
return [
'code' => 200,
'message' => 'Phone number ok',
'data' => $request->phone
];
}
答
在你控制器
protected function buildFailedValidationResponse(Request $request, array $errors) {
return ["code"=> 406 , "message" => "forbidden" , "errors" =>$errors];
}
这为我工作,您可以使用该功能
buildFailedValidationResponse
。谢谢。我在'app/Http/Controllers/Controller.php'里有这个。必须在文件的顶部放置'使用Illuminate \ Http \ Request;'以避免'buildFailedValidationResponse'函数定义约束产生错误。 – Phius