---
title: "Validácia — Contacts for Laravel | Roundly"
description: "Použite validáciu balíka vo svojich formulároch: pravidlo ValidContactValue, ContactType::rules() a hotové pravidlá pre polia kontaktov."
url: https://roundly-consulting.com/sk/open-source/navody/contacts-for-laravel/validacia
language: sk
---

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

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

# Validácia

ValidContactValue je samostatné znovupoužiteľné ValidationRule — použite ho na ľubovoľné pole. Hodnotu najprv normalizuje a potom ju overí podľa pravidiel druhu a stropu 255 znakov:

```php
use RoundlyConsulting\Contacts\Enums\ContactType;
use RoundlyConsulting\Contacts\Rules\ValidContactValue;

$request->validate([
    'email' => ['required', new ValidContactValue(ContactType::Email)],
]);
```

## Pravidlá FormRequestu na jeden riadok

ContactType::rules() vráti hotové pole pravidiel — pravidlá poľa daného druhu (required, string, …) plus ValidContactValue, ktoré kontroluje normalizovanú hodnotu — takže FormRequest zostane na jeden riadok a prijme presne to, čo prijmú addEmail(), addPhone() a addUrl() (' A.Person@Example.COM ', '+421 900 000 000', 'example.com'):

```php
public function rules(): array
{
    return [
        'email' => ContactType::Email->rules(),       // or ContactType::rulesFor(ContactType::Email)
        'phone' => ContactType::Phone->rules(),
    ];
}
```

Pre registrovaný vlastný druh použite ContactRules::forValue(ContactType::Custom, 'whatsapp'). Validovaný vstup zostáva surovým reťazcom; normalizuje ho až balík pri pridaní.

## Opakovateľné polia kontaktov

Pre opakovateľný zoznam dvojíc {type, value} vygenerujte pravidlá contacts.\*: každý type musí byť vstavaný alebo registrovaný druh a každá value sa normalizuje a overí podľa pravidiel druhu, ktorý deklaruje jej položka:

```php
use RoundlyConsulting\Contacts\Facades\Contacts;
use RoundlyConsulting\Contacts\Support\ContactRules;

$request->validate(Contacts::validationRules());       // keys: contacts, contacts.*.type, contacts.*.value
$request->validate(ContactRules::forArray('people'));  // custom prefix

Contacts::validationRules();
// [
//     'contacts' => ['sometimes', 'array'],
//     'contacts.*.type' => ['required', 'string', 'in:email,phone,address,url,social,custom'],
//     'contacts.*.value' => ['required', 'string', new ValidContactEntryValue],
// ]

ContactRules::kinds();                                    // built-in kinds + every key in contacts.types
ContactRules::forValue(ContactType::Url);                 // same as ContactType::Url->rules()
ContactRules::forValue(ContactType::Custom, 'whatsapp');  // a registered custom kind's rules
```

Pravidlo pre type akceptuje šesť vstavaných druhov plus každý registrovaný vlastný. Pravidlo pre value, ValidContactEntryValue, prečíta susedný type tej istej položky — contacts.3.value podľa contacts.3.type — a použije pravidlá daného druhu vrátane registrovaných pravidiel vlastného druhu. Položku s chýbajúcim alebo neznámym typom nechá na pravidlo pre type, ktoré chybu nahlási.

## Chybové hlásenia

Pri chybe sa použije preklad contacts::errors.invalid\_value („The given value is not a valid :type contact.“), ktorý pri vlastnom druhu uvedie jeho názov namiesto custom. Hlásenie je k dispozícii v angličtine a slovenčine; na úpravu alebo pridanie ďalšieho jazyka publikujte contacts-translations.

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