`prepareForValidation()` - чистимо дані до валідації
Телефон приходить як "(123) 456-7890", а в БД потрібен "1234567890".
Санітизація в контролері? Це вже запізно.
prepareForValidation() змінює дані запиту до запуску правил.
Коли корисно:
- Нормалізація телефону
- Прибирання пробілів
- Конвертація типів
- Додавання обчислюваних полів
Важливо:
Виконується до валідації — ідеально для нормалізації.
Порада: merge() додає/оновлює поля, replace() повністю замінює масив даних.
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)),
]);
}