---
title: "in та not_in - whitelist/blacklist валідація"
url: https://laravelukraine.com/blog/in-ta-not-in-whitelistblacklist-validaciia
author: "Олексій Бабінцев"
date: 2026-11-02
---

# in та not_in - whitelist/blacklist валідація

Поле має бути одним із дозволених значень?

`in` — whitelist, `not_in` — blacklist.

**Коли корисно:**

* Статуси, ролі
* Передвизначені опції
* Перевірка значень з конфігів/БД

**Кращий варіант:**

PHP 8.1 Enum + `enum` rule.

Порада: `Rule::in()` зручно для динамічних масивів.

```php
use Illuminate\Validation\Rule;

public function rules()
{
  $roles = ['user', 'admin', 'moderator'];

  return [
    'status' => 'required|in:pending,approved,rejected',
    'role' => ['required', Rule::in($roles)],
    'username' => [
      'required',
      Rule::notIn(['admin', 'root', 'system']),
    ],
  ];
}
```
