From c406baeac5bdfc1e31fc63c91e1cda5f972aac00 Mon Sep 17 00:00:00 2001 From: XiaoLFeng Date: Sat, 24 Jun 2023 16:03:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=88=A4=E6=96=AD=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Function/Link.php | 59 +++++++++++++++----------- 1 file changed, 34 insertions(+), 25 deletions(-) diff --git a/app/Http/Controllers/Function/Link.php b/app/Http/Controllers/Function/Link.php index ca9c75a..06e843e 100644 --- a/app/Http/Controllers/Function/Link.php +++ b/app/Http/Controllers/Function/Link.php @@ -18,7 +18,7 @@ use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Response; -use Nette\Schema\ValidationException; +use Illuminate\Support\Facades\Validator; class Link extends Controller { @@ -45,22 +45,41 @@ protected function viewMakeFriend(): Factory|View|Application public function apiCustomAdd(Request $request): JsonResponse { + /** @var array $returnData Json的 return 返回值 */ + /** @var Validator $dataCheck 数据判断 */ + /** @var array $errorInfo 错误信息 */ // 检查数据 - try { - $request->validate([ - 'userEmail' => 'required|email', - 'userServerHost' => 'required|string', - 'userBlog' => 'required|string', - 'userUrl' => 'required|string', - 'userDescription' => 'required|string', - 'userIcon' => 'required|string', - 'checkRssJudge' => 'boolean', - 'userRss' => 'string', - 'userLocation' => 'required|int', - 'userSelColor' => 'required|int', - 'userRemark' => 'required|string', - ]); + $dataCheck = Validator::make($request->all(),[ + 'userEmail' => 'required|email', + 'userServerHost' => 'required|string', + 'userBlog' => 'required|string', + 'userUrl' => 'required|string', + 'userDescription' => 'required|string', + 'userIcon' => 'required|string', + 'checkRssJudge' => 'boolean', + 'userRss' => 'string', + 'userLocation' => 'required|int', + 'userSelColor' => 'required|int', + 'userRemark' => 'required|string', + ]); + // 检查发现错误 + if ($dataCheck->fails()) { + $errorType = array_keys($dataCheck->failed()); + $i = 0; + foreach ($dataCheck->failed() as $valueData) { + $errorInfo[$errorType[$i]] = array_keys($valueData); + $i++; + } + $returnData = [ + 'output' => 'DataFormatError', + 'code' => 403, + 'data' => [ + 'message' => '输入内容有错误', + 'error' => $errorInfo, + ], + ]; + } else { // 检查数据 if (empty($request->checkRssJudge)) { $request->checkRssJudge = 0; @@ -115,16 +134,6 @@ public function apiCustomAdd(Request $request): JsonResponse ], ]; } - } catch (ValidationException $exception) { - $errors = $exception->validator->errors(); - $returnData = [ - 'output' => 'DataFormatError', - 'code' => 403, - 'data' => [ - 'message' => '输入内容有错误', - 'error' => $errors, - ], - ]; } return Response::json($returnData,$returnData['code']);