---
title: "CallbackRule – API-Referenz · Quittio"
description: "A rule defined by a closure. The closure receives the invoice and a reporter."
canonical_url: "https://quittio.dev/docs/api/Quittio/Core/Validation/Rules/CallbackRule"
locale: de
meta:
  "og:description": "A rule defined by a closure. The closure receives the invoice and a reporter."
  "og:image": "https://quittio.dev/og/quittio-de.jpg"
  "og:image:alt": "Quittio: E-Rechnungen für PHP und Laravel. Rechtssicher, validiert, archiviert, mit geprüfter Beispielrechnung."
  "og:image:height": "630"
  "og:image:type": image/jpeg
  "og:image:width": "1200"
  "og:title": "CallbackRule – API-Referenz · Quittio"
  "twitter:image": "https://quittio.dev/og/quittio-de.jpg"
  "twitter:image:alt": "Quittio: E-Rechnungen für PHP und Laravel. Rechtssicher, validiert, archiviert, mit geprüfter Beispielrechnung."
---

> Index of every page on this site: [llms.txt](https://quittio.dev/llms.txt)

[API reference](https://quittio.dev/docs/api) / [Quittio](https://quittio.dev/docs/api/Quittio) \\ [Core](https://quittio.dev/docs/api/Quittio/Core) \\ [Validation](https://quittio.dev/docs/api/Quittio/Core/Validation) \\ [Rules](https://quittio.dev/docs/api/Quittio/Core/Validation/Rules)

# CallbackRule

final readonly class in quittio/core · implements [`Rule`](https://quittio.dev/docs/api/Quittio/Core/Validation/Rule)

`Quittio\Core\Validation\Rules\CallbackRule` · [Source](https://github.com/Quittio/quittio/blob/v0.7.1/packages/core/src/Validation/Rules/CallbackRule.php#L18)

A rule defined by a closure. The closure receives the invoice and a reporter.

$fallback is the English message used when the message catalog has no entry.

## Methods \#

| Method | Description |
| --- | --- |
| `->__construct()` | |
| `->check()` | |
| `->code()` | |
| `->fallbackMessage()` | |
| `::l3()` | |
| `::l7()` | |
| `->level()` | |
| `->namespace()` | |

### `__construct()`#

```
public function __construct(
    string $code,
    ValidationLevel $level,
    string $fallback,
    Closure $check,
    string $namespace = 'quittio',
)
```

| Parameter | Type | Description |
| --- | --- | --- |
| `$code` | `string` | |
| `$level` | `[ValidationLevel](https://quittio.dev/docs/api/Quittio/Core/Validation/ValidationLevel)` | |
| `$fallback` | `string` | |
| `$check` | `Closure` | |
| `$namespace` | `string` = `'quittio'` | |

### `check()`#

```
public function check(InvoiceData $invoice, ValidationContext $context): iterable
```

| Parameter | Type | Description |
| --- | --- | --- |
| `$invoice` | `[InvoiceData](https://quittio.dev/docs/api/Quittio/Core/Data/InvoiceData)` | |
| `$context` | `[ValidationContext](https://quittio.dev/docs/api/Quittio/Core/Validation/ValidationContext)` | |

<dl><dt>Returns</dt>
<dd><code>iterable</code></dd>
</dl>

### `code()`#

```
public function code(): string
```

<dl><dt>Returns</dt>
<dd><code>string</code></dd>
</dl>

### `fallbackMessage()`#

```
public function fallbackMessage(): string
```

<dl><dt>Returns</dt>
<dd><code>string</code></dd>
</dl>

### `l3()`#

```
public static function l3(
    string $code,
    string $fallback,
    Closure $check,
    string $namespace = 'quittio',
): self
```

static

| Parameter | Type | Description |
| --- | --- | --- |
| `$code` | `string` | |
| `$fallback` | `string` | |
| `$check` | `Closure` | |
| `$namespace` | `string` = `'quittio'` | |

<dl><dt>Returns</dt>
<dd><code>self</code></dd>
</dl>

### `l7()`#

```
public static function l7(
    string $code,
    string $fallback,
    Closure $check,
    string $namespace = 'quittio',
): self
```

static

| Parameter | Type | Description |
| --- | --- | --- |
| `$code` | `string` | |
| `$fallback` | `string` | |
| `$check` | `Closure` | |
| `$namespace` | `string` = `'quittio'` | |

<dl><dt>Returns</dt>
<dd><code>self</code></dd>
</dl>

### `level()`#

```
public function level(): ValidationLevel
```

<dl><dt>Returns</dt>
<dd><code><a href="https://quittio.dev/docs/api/Quittio/Core/Validation/ValidationLevel">ValidationLevel</a></code></dd>
</dl>

### `namespace()`#

```
public function namespace(): string
```

<dl><dt>Returns</dt>
<dd><code>string</code></dd>
</dl>

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://quittio.dev/#website","@type":"WebSite","description":"E-Rechnungen für PHP und Laravel: ZUGFeRD, XRechnung und Peppol erstellen, prüfen, lesen und archivieren.","inLanguage":"de-DE","name":"Quittio","url":"https://quittio.dev/","publisher":{"@id":"https://quittio.dev/#identity"},"workTranslation":{"@id":"https://quittio.dev/en#website"}},{"@id":"https://quittio.dev/docs/api/Quittio/Core/Validation/Rules/CallbackRule#webpage","@type":"WebPage","description":"A rule defined by a closure. The closure receives the invoice and a reporter.","name":"CallbackRule – API-Referenz","url":"https://quittio.dev/docs/api/Quittio/Core/Validation/Rules/CallbackRule","isPartOf":{"@id":"https://quittio.dev/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://quittio.dev/docs/api/Quittio/Core/Validation/Rules/CallbackRule"]}],"primaryImageOfPage":{"@id":"https://quittio.dev/#logo"}},{"@id":"https://quittio.dev/#identity","@type":"Organization","description":"Open-Source-Bibliothek für E-Rechnungen in PHP und Laravel (ZUGFeRD, XRechnung, Peppol) und Quittio Managed.","email":"kontakt@niklasforst.de","legalName":"Niklas Forst – Softwareentwicklung","name":"Quittio","url":"https://quittio.dev","founder":{"@type":"Person","name":"Niklas Forst","url":"https://quittio.dev/ueber"},"logo":{"@id":"https://quittio.dev/#logo"},"sameAs":["https://github.com/Quittio/quittio","https://packagist.org/packages/quittio/quittio"]},{"@id":"https://quittio.dev/#logo","@type":"ImageObject","caption":"Quittio","contentUrl":"https://quittio.dev/logo.png","inLanguage":"de-DE","url":"https://quittio.dev/logo.png"}]}
```