流明自定义验证响应
Posted
技术标签:
【中文标题】流明自定义验证响应【英文标题】:lumen customize validation response 【发布时间】:2017-09-24 17:39:32 【问题描述】:如果验证在流明中失败,我正在尝试创建自定义响应。但得到默认响应。期待像
这样的回应 [
'code' => 406,
'message' => "forbidden",
'errors' =>
"phone": [
"The phone must be 11 digits."
]
,
]
但得到这样的默认响应
"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
];
【问题讨论】:
【参考方案1】:您可以在控制器中使用函数buildFailedValidationResponse
protected function buildFailedValidationResponse(Request $request, array $errors)
return ["code"=> 406 , "message" => "forbidden" , "errors" =>$errors];
【讨论】:
这对我有用。谢谢。我在app/Http/Controllers/Controller.php
里面有这个。必须将use Illuminate\Http\Request;
放在文件顶部以避免buildFailedValidationResponse
函数定义约束出错。以上是关于流明自定义验证响应的主要内容,如果未能解决你的问题,请参考以下文章
流明封装。如何加载自定义validation.php 消息文件?
如何在 webflux 中实现自定义身份验证管理器时对未经授权的请求响应自定义 json 正文
使用 AuthenticationFailureHandler 在 Spring Security 中自定义身份验证失败响应