resolveSite($request)), ]; } /** * Set the update validation rules for the field. * * @param Request $request * @return array */ public function getUpdateRules(Request $request): array { return [ 'bail', 'sometimes', 'required', 'max:192', 'url', new ResourceLinkFormatRule($this->resolveSite($request)), ]; } /** * Resolve site field from request. * * @param Request $request * @return ResourceSite|null */ protected function resolveSite(Request $request): ?ResourceSite { if ($request->has(ExternalResource::ATTRIBUTE_SITE)) { $site = intval($request->input(ExternalResource::ATTRIBUTE_SITE)); return ResourceSite::tryFrom($site); } $resource = $request->route('resource'); if ($resource instanceof ExternalResource) { return $resource->site; } return null; } }