resolveLink($request)), ]; } /** * Set the update validation rules for the field. * * @param Request $request * @return array */ public function getUpdateRules(Request $request): array { return [ 'bail', 'sometimes', 'required', new Enum(ResourceSite::class), new ResourceSiteMatchesLinkRule($this->resolveLink($request)), ]; } /** * Resolve link field from request. * * @param Request $request * @return string */ protected function resolveLink(Request $request): string { if ($request->has(ExternalResource::ATTRIBUTE_LINK)) { $link = $request->input(ExternalResource::ATTRIBUTE_LINK); return is_string($link) ? $link : ''; } $resource = $request->route('resource'); if ($resource instanceof ExternalResource) { return $resource->link; } return ''; } }