validateType($site, $input); // set type data $site->type_data = $site->type()->data($input); // save $site->port = $input['port'] ?? null; $site->save(); // edit $site->type()->edit(); return $site; } /** * @throws ValidationException */ private function validateType(Site $site, array $input): void { $rules = $site->type()->editValidationRules($input); Validator::make($input, $rules)->validateWithBag('editSite'); } }