---
title: "Validácia — Options for Laravel | Roundly"
description: "Vráťte z rules() validačné pravidlá Laravelu a každý zápis sa overí skôr, než sa pretypuje či uloží."
url: https://roundly-consulting.com/sk/open-source/navody/options-for-laravel/validacia
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Options for Laravel](https://roundly-consulting.com/sk/open-source/navody/options-for-laravel.md)

# Validácia

Ak má byť zápis overený, vráťte z rules() validačné pravidlá Laravelu. Predvolene je to prázdne pole, takže sa nič neoveruje, kým to nezapnete:

```php
use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
use RoundlyConsulting\Options\BaseOption;

final class SeatLimitOption extends BaseOption
{
    public function key(): string
    {
        return 'seat-limit';
    }

    public function default(): mixed
    {
        return 5;
    }

    public function castAs(): string|CastsAttributes
    {
        return 'integer';
    }

    public function rules(): array|string
    {
        return ['required', 'integer', 'min:1', 'max:100'];
    }
}
```

Pravidlá sa aplikujú na pole s názvom value, ešte pred castom a pred uložením. Neplatné hodnoty vyhodia Illuminate\\Validation\\ValidationException — výnimku samotného Laravelu, nie OptionException, takže ju controller premení na bežnú odpoveď 422 či presmerovanie s chybami:

```php
use Illuminate\Validation\ValidationException;

try {
    Options::set(SeatLimitOption::class, 250, $team);
} catch (ValidationException $e) {
    $e->errors(); // ['value' => ['…']] — rules are applied to a field named "value"
}
```

## Kde validácia platí

- Pri každom zápise cez set(): fasáda, fluent API, helpery, HasOptions, setMany(), remember() pri ukladaní, set() skupiny aj options:set.
- setMany() aj set() skupiny overia celú dávku ešte pred prvým zápisom — jediná neplatná hodnota znamená, že sa neuloží nič.
- Pravidlá môžu byť pole alebo reťazec oddelený zvislou čiarou, napríklad 'integer|min:0'.
- Laravel pri prázdnom reťazci preskakuje neimplicitné pravidlá ako in:, takže samotné \['in:light,dark'\] prepustí ''. Pridajte required — alebo nullable, ak má byť prázdna hodnota povolená.
- Import zapisuje surové riadky a rules() nespúšťa. Options::fake() overuje rovnako ako skutočný manager — neplatný zápis vyhodí výnimku a nezaznamená sa.

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/options-for-laravel.md)
