|string> */ public function rules(): array { $rules = [ "name" => "required|max:50", // "nodes" => [ // 'required', //// 'array', // 'min:1', // ], /*"nodes.*.name" => "required", "nodes.*.approval_users" => "required|array", "nodes.*.level" => "required|numeric", "nodes.*.approval_mode" => [ 'required', new Enum(ApprovalMode::class), ]*/ ]; if ($this->method() == "POST") { $rules = [ ...$rules, "type" => [ "required", new Enum(ApprovalFlowType::class), ], "object_type" => [ new Enum(ApprovalFlowObjectType::class), ], "object_id" => [ function ($attribute, $value, $fail) { $exist = ApprovalFlowObjectType::from($this->get("object_type")) ->modelBuilderAllowed($value) ->where("company_id", Auth::user()->company_id) ->where('id', $value) ->count(); if (! $exist) { $fail('Resources without permission to access.'); } } ], ]; } return $rules; } }