---
title: "`prepareForValidation()` - чистимо дані до валідації"
url: https://laravelukraine.com/blog/prepareforvalidation-cistimo-dani-do-validaciyi
author: "Олексій Бабінцев"
date: 2026-10-09
---

# `prepareForValidation()` - чистимо дані до валідації

Телефон приходить як `"(123) 456-7890"`, а в БД потрібен `"1234567890"`.

Санітизація в контролері? Це вже запізно.

`prepareForValidation()` змінює дані запиту **до** запуску правил.

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

* Нормалізація телефону
* Прибирання пробілів
* Конвертація типів
* Додавання обчислюваних полів

**Важливо:**

Виконується *до* валідації — ідеально для нормалізації.

Порада: `merge()` додає/оновлює поля, `replace()` повністю замінює масив даних.

```php
protected function prepareForValidation()
{
  $this->merge([
    'phone' => preg_replace('/[^0-9]/', '', $this->phone),
    'slug' => Str::slug($this->title),
    'price' => (float) $this->price,
    'name' => trim($this->name),
    'email' => strtolower(trim($this->email)),
  ]);
}
```
