mirror of
https://github.com/pelican-dev/panel.git
synced 2026-05-04 18:00:48 +03:00
21 lines
522 B
PHP
21 lines
522 B
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Observers;
|
||
|
|
|
||
|
|
use App\Contracts\Validatable as HasValidationContract;
|
||
|
|
use App\Exceptions\Model\DataValidationException;
|
||
|
|
use Illuminate\Database\Eloquent\Model;
|
||
|
|
use Illuminate\Validation\ValidationException;
|
||
|
|
|
||
|
|
class ValidationObserver
|
||
|
|
{
|
||
|
|
public function saving(Model&HasValidationContract $model): void
|
||
|
|
{
|
||
|
|
try {
|
||
|
|
$model->validate();
|
||
|
|
} catch (ValidationException $exception) {
|
||
|
|
throw new DataValidationException($exception->validator, $model);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|