---
title: "Podmienené polia — Forms for Laravel | Roundly"
description: "Pole zobrazíte alebo vyžadujete len vtedy, keď sa zhoduje iná odpoveď — skryté polia validácia automaticky preskočí."
url: https://roundly-consulting.com/sk/open-source/navody/forms-for-laravel/podmienene-polia
language: sk
---

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

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

# Podmienené polia

Pole zobrazíte alebo vyžadujete len vtedy, keď sa iné pole toho istého formulára — v ľubovoľnej skupine — zhoduje s hodnotou. Podmienka sa uloží na pole a uplatní sa pri validácii — skryté pole sa preskočí (a čokoľvek pre neho request poslal, sa neuloží) a podmienene povinné pole sa vyžaduje len pri splnení podmienky:

```php
Forms::define('signup', 'Sign up')
    ->group('step-1', 'Step 1', function (GroupBuilder $g): void {
        $g->field('country', 'Country');
        $g->field('age', 'Age')->number();
    })
    ->group('step-2', 'Step 2', function (GroupBuilder $g): void {
        $g->field('state', 'State')->requiredWhen('country', 'US');        // a field of step 1
        $g->field('guardian', 'Guardian')->visibleWhen('age', [16, 17], 'in');
        $g->field('zip', 'ZIP')->visibleWhen('step-1.country', 'US');      // named exactly
    })
    ->create();
```

requiredWhen() pridá pravidlo required a uloží podmienku; visibleWhen() uloží len podmienku. Obe prijímajú kľúč odkazovaného poľa, hodnotu a voliteľný operátor. Samotný kľúč sa hľadá najprv v skupine závislého poľa, potom v ostatných skupinách formulára (podľa poradia skupín) — neskorší krok tak môže závisieť od skoršieho. Ak majú dve skupiny pole s rovnakým kľúčom, pomenujte ho presne zápisom group\_key.field\_key.

## Operátory

| Operátor | Podmienka platí, keď odkazovaná odpoveď… |
| --- | --- |
| `=` | sa rovná hodnote (predvolené). |
| `!=` | sa od hodnoty líši. |
| `in` | je jednou z hodnôt v poli. |
| `not_in` | nie je žiadnou z hodnôt v poli. |
| `filled` | je vyplnená (hodnota sa ignoruje). |
| `empty` | je prázdna (hodnota sa ignoruje). |

## Ako sa ukladá

Podmienky sú obyčajné dáta na poli, takže prežijú aj v konfiguračných definíciách a vo výstupe API. Pole môže mať viac podmienok — zobrazí sa len vtedy, keď platia všetky:

```php
// visibleWhen('age', [16, 17], 'in') stores this on the field's `conditions` column:
[
    ['field' => 'age', 'operator' => 'in', 'value' => [16, 17]],
]

$field->isVisible($request->all()); // evaluates every stored condition
```

## 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/forms-for-laravel.md)
