---
title: "Validačné pravidlo — Coupons for Laravel | Roundly"
description: "Overte pole so zľavovým kódom pravidlom Redeemable — rovnaké kontroly ako pri uplatnení a preložiteľné hlásenie pre prvý dôvod zlyhania."
url: https://roundly-consulting.com/sk/open-source/navody/coupons-for-laravel/validacia
language: sk
---

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

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

# Validačné pravidlo

Rules\\Redeemable overí pole s kódom kupónu vo formulári a pre prvý dôvod zlyhania vráti presné, preložiteľné hlásenie — nemusíte zachytávať šesť výnimiek:

```php
use RoundlyConsulting\Coupons\Rules\Redeemable;

$request->validate([
    'code' => ['required', 'string', new Redeemable(cartTotal: $cartTotal, redeemer: $request->user())],
]);
```

- Oba argumenty sú voliteľné: bez cartTotal sa preskočia kontroly meny a minima, bez redeemer sa preskočí limit na zákazníka.
- Prázdny, len z medzier či nereťazcový vstup a neznáme kódy zlyhajú s hlásením not\_found. Na veľkosti písmen nezáleží, takže summer prejde pre SUMMER.
- Pravidlo nič nemení — počet použití navyšuje len uplatnenie.
- Pýta sa Coupons::check() — rovnaké kontroly v rovnakom poradí ako pri uplatnení a v isRedeemableBy() —, takže sa nikdy nerozchádzajú.

## Hlásenia

Hlásenia sú v mennom priestore coupons::messages; :code sa nahradí kódom kupónu. Balík obsahuje angličtinu aj slovenčinu s rovnakými kľúčmi — predvolené anglické texty:

| Kľúč (coupons::messages.) | Predvolený text (en) |
| --- | --- |
| `not_found` | The coupon ":code" does not exist. |
| `currency_mismatch` | This coupon cannot be used in the selected currency. |
| `minimum_spend_not_met` | Your total does not meet this coupon’s minimum spend. |
| `expired` | This coupon is no longer available. |
| `at_max_usage` | This coupon has reached its usage limit. |
| `already_redeemed` | You have already used this coupon. |
| `type.fixed.label / .description` | Fixed amount / Subtracts a fixed amount from the price. |
| `type.percentage.label / .description` | Percentage / Subtracts a percentage of the price. |
| `type.free_shipping.label / .description` | Free shipping / Marks the order for free shipping. |

## Preklad

Slovenčina je súčasťou balíka popri angličtine, takže keď má aplikácia nastavený jazyk sk, všetky hlásenia aj názvy typov zliav sa zobrazia po slovensky — bez publikovania. Publikovanie tagom coupons-translations skopíruje slovenský súbor sem:

```php
// lang/vendor/coupons/sk/messages.php
return [
    'not_found' => 'Kupón „:code“ neexistuje.',
    'currency_mismatch' => 'Tento kupón nie je možné použiť vo vybranej mene.',
    'minimum_spend_not_met' => 'Vaša objednávka nedosahuje minimálnu hodnotu potrebnú pre tento kupón.',
    'expired' => 'Tento kupón už nie je k dispozícii.',
    'at_max_usage' => 'Tento kupón už dosiahol maximálny počet použití.',
    'already_redeemed' => 'Tento kupón ste už uplatnili.',

    'type' => [
        'fixed' => [
            'label' => 'Pevná suma',
            'description' => 'Odpočíta z ceny pevnú sumu.',
        ],
        'percentage' => [
            'label' => 'Percentuálna zľava',
            'description' => 'Odpočíta z ceny zadané percento.',
        ],
        'free_shipping' => [
            'label' => 'Doprava zadarmo',
            'description' => 'Označí objednávku na dopravu zadarmo.',
        ],
    ],
];
```

V publikovaných súboroch môžete hlásenia preformulovať, prípadne pridajte ďalší jazyk do lang/vendor/coupons/<locale>/messages.php. Pravidlo sa riadi jazykom aplikácie, takže ten istý formulár zobrazí hlásenie v správnom jazyku.

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