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
- +
@@ -124,7 +125,7 @@ Date: 2022-12-01 $("#add-website-db-info").show(); $('input[name="db_name"]').val($('input[name="name"]').val() + '_mysql'); $('input[name="db_username"]').val($('input[name="name"]').val() + '_mysql'); - }else if(data.value === 'postgresql') { + } else if (data.value === 'postgresql') { $("#add-website-db-info").show(); $('input[name="db_name"]').val($('input[name="name"]').val() + '_postgresql'); $('input[name="db_username"]').val($('input[name="name"]').val() + '_postgresql'); @@ -135,7 +136,7 @@ Date: 2022-12-01 // 判断db_type是否为空 if (data.field.db_type === "") { data.field.db = 0; - }else{ + } else { data.field.db = 1; } admin.req({ @@ -145,7 +146,7 @@ Date: 2022-12-01 , success: function (result) { if (result.code !== 0) { console.log('耗子Linux面板:新网站添加失败,接口返回' + result); - layer.msg('新网站添加失败,请刷新重试!') + layer.msg('新网站添加失败!') return false; } table.reload('website-list');