diff --git a/app/Http/Controllers/Api/WebsitesController.php b/app/Http/Controllers/Api/WebsitesController.php index fbfed8a5..2270ba21 100644 --- a/app/Http/Controllers/Api/WebsitesController.php +++ b/app/Http/Controllers/Api/WebsitesController.php @@ -56,7 +56,7 @@ class WebsitesController extends Controller 'db_type' => 'required_if:db,true|max:10', 'db_name' => 'required_if:db,true|max:255', 'db_username' => 'required_if:db,true|max:255', - 'db_password' => ['required_if:db,true', 'regex:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*(_|[^\w])).+$/', 'min:8'], + 'db_password' => ['required_if:db,true', 'max:255'], ]); } catch (ValidationException $e) { return response()->json([ @@ -66,6 +66,22 @@ class WebsitesController extends Controller ], 200); } + // 对db_password单独验证 + if ($credentials['db']) { + if (!preg_match('/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*(_|[^\w])).+$/', + $credentials['db_password'])) { + return response()->json([ + 'code' => 1, + 'msg' => '数据库密码必须包含大小写字母、数字、特殊字符' + ], 200); + } elseif (strlen($credentials['db_password']) < 8) { + return response()->json([ + 'code' => 1, + 'msg' => '数据库密码长度不能小于8位' + ], 200); + } + } + // 禁止添加重复网站 $website = Website::query()->where('name', $credentials['name'])->first(); if ($website) { diff --git a/resources/views/website/add.blade.php b/resources/views/website/add.blade.php index e526112e..0570606c 100644 --- a/resources/views/website/add.blade.php +++ b/resources/views/website/add.blade.php @@ -65,7 +65,8 @@ Date: 2022-12-01