---
title: "ValidationContext – API-Referenz · Quittio"
description: "Information available to rules while validating an invoice."
canonical_url: "https://quittio.dev/docs/api/Quittio/Core/Validation/ValidationContext"
locale: de
meta:
  "og:description": "Information available to rules while validating an invoice."
  "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": "ValidationContext – 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)

# ValidationContext

final readonly class in quittio/core

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

Information available to rules while validating an invoice.

## Properties \#

| Property | Type | Description |
| --- | --- | --- |
| `$countryPacks` readonly | `list< [CountryPack](https://quittio.dev/docs/api/Quittio/Core/Countries/CountryPack)>` | leading pack first |
| `$locale` readonly | `string` | |
| `$messageLocale` readonly | `?string` | |
| `$options` readonly | `array<string, mixed>` | e.g. attachment\_max\_bytes, attachments\_max\_total\_bytes |
| `$profile` readonly | `[Profile](https://quittio.dev/docs/api/Quittio/Core/Profiles/Profile)` | |
| `$translator` readonly | `? [Translator](https://quittio.dev/docs/api/Quittio/Core/I18n/Translator)` | |

## Methods \#

| Method | Description |
| --- | --- |
| `->__construct()` | |
| `->hasCountry()` | |
| `->intOption()` | |
| `->leadingCountry()` | |
| `->messageLocale()` | Language of the messages: the configured one (validation.locale), otherwise the language of the run. Rules that check texts of the invoice use $locale instead. |
| `->option()` | |
| `->profileIs()` | |
| `->translator()` | |

### `__construct()`#

```
public function __construct(
    Profile $profile,
    list<CountryPack> $countryPacks = [],
    string $locale = 'en',
    ?Translator $translator = null,
    array<string, mixed> $options = [],
    ?string $messageLocale = null,
)
```

| Parameter | Type | Description |
| --- | --- | --- |
| `$profile` | `[Profile](https://quittio.dev/docs/api/Quittio/Core/Profiles/Profile)` | |
| `$countryPacks` | `list< [CountryPack](https://quittio.dev/docs/api/Quittio/Core/Countries/CountryPack)>` = `[]` | leading pack first |
| `$locale` | `string` = `'en'` | |
| `$translator` | `? [Translator](https://quittio.dev/docs/api/Quittio/Core/I18n/Translator)` = `null` | |
| `$options` | `array<string, mixed>` = `[]` | e.g. attachment\_max\_bytes, attachments\_max\_total\_bytes |
| `$messageLocale` | `?string` = `null` | |

### `hasCountry()`#

```
public function hasCountry(string $code): bool
```

| Parameter | Type | Description |
| --- | --- | --- |
| `$code` | `string` | |

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

### `intOption()`#

```
public function intOption(string $key, int $default): int
```

| Parameter | Type | Description |
| --- | --- | --- |
| `$key` | `string` | |
| `$default` | `int` | |

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

### `leadingCountry()`#

```
public function leadingCountry(): ?string
```

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

### `messageLocale()`#

```
public function messageLocale(): string
```

Language of the messages: the configured one (validation.locale), otherwise the language of the run. Rules that check texts of the invoice use $locale instead.

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

### `option()`#

```
public function option(string $key, mixed $default = null): mixed
```

| Parameter | Type | Description |
| --- | --- | --- |
| `$key` | `string` | |
| `$default` | `mixed` = `null` | |

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

### `profileIs()`#

```
public function profileIs(string ...$keys): bool
```

| Parameter | Type | Description |
| --- | --- | --- |
| `...$keys` | `string` | |

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

### `translator()`#

```
public function translator(): Translator
```

<dl><dt>Returns</dt>
<dd><code><a href="https://quittio.dev/docs/api/Quittio/Core/I18n/Translator">Translator</a></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/ValidationContext#webpage","@type":"WebPage","description":"Information available to rules while validating an invoice.","name":"ValidationContext – API-Referenz","url":"https://quittio.dev/docs/api/Quittio/Core/Validation/ValidationContext","isPartOf":{"@id":"https://quittio.dev/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://quittio.dev/docs/api/Quittio/Core/Validation/ValidationContext"]}],"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"}]}
```