code}"; } public function evaluate(FormSchema $schema): PublishGuardResult { if (! ($this->predicate)($schema)) { return PublishGuardResult::passed($this->code()); } $subResult = $this->subGuard->evaluate($schema); if ($subResult->passed) { return PublishGuardResult::passed($this->code()); } return PublishGuardResult::failed( guardCode: $this->code(), messageKey: $subResult->messageKey ?? 'form_builder_publish_guards.conditional', offendingFormFieldId: $subResult->offendingFormFieldId, context: array_merge( $subResult->context, ['delegated_to' => $this->subGuard->code()], ), ); } }