ソースを参照

Edit Request rules

BrettonYe 3 ヶ月 前
コミット
0cb9cb4e98

+ 1 - 1
app/Http/Requests/Admin/NodeRequest.php

@@ -38,7 +38,7 @@ class NodeRequest extends FormRequest
             'is_display' => 'required|numeric|between:0,3',
             'detection_type' => 'required|numeric|between:0,3',
             'single' => 'required|boolean',
-            'port' => 'required_unless:single,"0"|numeric|between:1,65535|different:push_port',
+            'port' => 'nullable|numeric|between:1,65535|different:push_port|required_if:single,1|required_if:type,2|required_if:type,3',
             'passwd' => 'exclude_unless:type,1,type,4|required_if:single,1|string|nullable',
             'v2_alter_id' => 'nullable|numeric|between:0,65535',
             'v2_method' => 'required_if:type,2',

+ 6 - 1
app/Http/Requests/Admin/PermissionRequest.php

@@ -8,8 +8,13 @@ class PermissionRequest extends FormRequest
 {
     public function rules(): array
     {
+        $unq_name = '';
+        if (in_array($this->method(), ['PATCH', 'PUT'], true)) {
+            $unq_name = ','.$this->permission->id;
+        }
+
         return [
-            'name' => 'required|string|unique:permissions,name',
+            'name' => 'required|string|unique:permissions,name'.$unq_name,
             'description' => 'required|string',
         ];
     }

+ 6 - 1
app/Http/Requests/Admin/UserGroupRequest.php

@@ -8,8 +8,13 @@ class UserGroupRequest extends FormRequest
 {
     public function rules(): array
     {
+        $unq_name = '';
+        if (in_array($this->method(), ['PATCH', 'PUT'], true)) {
+            $unq_name = ','.$this->group->id;
+        }
+
         return [
-            'name' => 'required|string|unique:user_group,name',
+            'name' => 'required|string|unique:user_group,name'.$unq_name,
             'nodes' => 'nullable|exists:node,id',
         ];
     }

+ 0 - 13
resources/views/admin/node/info.blade.php

@@ -389,19 +389,6 @@
             const termUnit = $("#subscription_term_unit").val();
             data["subscription_term"] = termValue ? `${termValue} ${termUnit}` : null;
 
-            // 处理端口字段(根据节点类型选择正确的端口字段)
-            switch (parseInt(data.type)) {
-                case 0: // Shadowsocks
-                    data.port = 0; // SS类型不需要端口设置
-                    break;
-                case 1: // ShadowsocksR
-                case 4: // VNET
-                    if (data.single !== 1) {
-                        data.port = 0; // 非single模式不需要端口设置
-                    }
-                    break;
-            }
-
             // 发送 AJAX 请求
             ajaxRequest({
                 url: '{{ isset($node) ? route('admin.node.update', $node['id']) : route('admin.node.store') }}',

+ 3 - 2
resources/views/admin/user/info.blade.php

@@ -36,7 +36,7 @@
                                 </div>
                             </x-admin.form.skeleton>
                         @endisset
-                        <x-admin.form.input name="invite_num" type="number" :label="trans('model.user.invite_num')" required />
+                        <x-admin.form.input name="invite_num" type="number" :label="trans('model.user.invite_num')" input_grid="col-auto" required />
                         <x-admin.form.input-group name="reset_time" attribute="data-plugin=datepicker" :label="trans('model.user.reset_date')" :prependIcon="'icon wb-calendar'" :help="trans('admin.user.info.reset_date_hint')"
                                                   input_grid="col-auto" />
                         <x-admin.form.input-group name="expired_at" attribute="data-plugin=datepicker" :label="trans('model.user.expired_date')" :prependIcon="'icon wb-calendar'" :help="trans('admin.user.info.expired_date_hint')"
@@ -56,7 +56,7 @@
                                                   buttonClass="btn-success" buttonOnclick="makeUUID()" :help="trans('admin.user.info.uuid_hint')" />
                         <x-admin.form.input-group name="passwd" :placeholder="trans('common.random_generate')" :label="trans('model.user.proxy_passwd')" button='<i class="icon wb-refresh"></i>'
                                                   buttonClass="btn-success" buttonOnclick="makePasswd()" />
-                        <x-admin.form.input-group name="transfer_enable" type="number" :label="trans('model.user.usable_traffic')" required append="GB" />
+                        <x-admin.form.input-group name="transfer_enable" :label="trans('model.user.usable_traffic')" required append="GB" />
                         <x-admin.form.radio-group name="enable" :label="trans('model.user.proxy_status')" :options="[0 => trans('common.status.banned'), 1 => trans('common.status.enabled')]" />
                         <hr>
                         <x-admin.form.select name="method" :label="trans('model.user.proxy_method')" :options="$methods" input_grid="col-xxl-3 col-xl-5 col-lg-6 col-md-4 col-sm-auto" />
@@ -125,6 +125,7 @@
         $(document).ready(function() {
             let userData = { // 默认值
                 level: 0,
+                invite_num: 0,
                 status: 1,
                 transfer_enable: 1024,
                 enable: 1,