# PHP-validáció

> Az űrlap érvényesítése egyedi PHP-kóddal, mezőhöz kötött hibaüzenettel.

A **PHP-validáció** egyedi PHP-kóddal ellenőrzi az űrlapot a beküldéskor. A beállítás az **Űrlap** widget **További lehetőségek** szekciójában van.

![A További lehetőségek szekció bekapcsolt PHP-validációval](./kepek/elementor-pro-form-php-validacio.webp)

*A További lehetőségek szekció bekapcsolt PHP-validációval* (https://minta-bolt.hu/wp-admin/post.php?post=63&action=elementor)

1. Nyisd ki a **További lehetőségek** szekciót.
2. Kapcsold be a **PHP-validáció** kapcsolót.
3. A **PHP-validációs kód** mezőbe írd a kódot.

## Hogyan működik a kód

A mezők értékeit a `$fields` változóból éred el, például `$fields["mezo_id"]`.

- Ha a kód **nem ad vissza semmit**, vagy `false` értéket ad vissza, az érvényesítés sikeres.
- Ha a kód **szöveget** ad vissza, az hibaüzenetként jelenik meg az űrlapon.
- Ha a kód `[ $mezo_id, $hibauzenet ]` tömböt ad vissza, a hibaüzenet az adott mezőnél jelenik meg.

## Példák

A jelszó legalább 8 karakter legyen:

```php
if ( strlen( $fields['jelszo'] ) < 8 ) {
    return [ 'jelszo', 'A jelszó legalább 8 karakter legyen.' ];
}
```

A választott dátum nem lehet múltbeli:

```php
if ( $fields['datum'] < date( 'Y-m-d' ) ) {
    return [ 'datum', 'Múltbeli dátumot nem választhatsz.' ];
}
```

Csak 19 és 22 óra között fogad el időpontot:

```php
if ( $fields['ido'] < 19 || $fields['ido'] > 22 ) {
    return [ 'ido', 'Este 19 és 22 óra közötti időpontot válassz.' ];
}
```

Hiba, ha két fizetési mező közül egyik sincs kitöltve (itt a Stripe és a PayPal):

```php
if ( empty( $fields['stripe'] ) && empty( $fields['paypal'] ) ) {
    return 'Legalább az egyik fizetési módot használnod kell.';
}
```
