entity}:{$this->attribute}"; } public function evaluate(FormSchema $schema): PublishGuardResult { /** @var FormField $field */ foreach ($schema->fields as $field) { /** @var FormFieldBinding $binding */ foreach ($field->bindings as $binding) { if ($binding->target_entity === $this->entity && $binding->target_attribute === $this->attribute && (bool) $binding->is_identity_key ) { return PublishGuardResult::passed($this->code()); } } } return PublishGuardResult::failed( guardCode: $this->code(), messageKey: 'form_builder_publish_guards.requires_identity_key_binding', context: ['entity' => $this->entity, 'attribute' => $this->attribute], ); } }