2024-07-24 14:07:45 +03:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace kernel;
|
|
|
|
|
|
|
|
use app\helpers\Debug;
|
|
|
|
use MadeSimple\Validator\Validator;
|
|
|
|
|
|
|
|
class FormModel
|
|
|
|
{
|
|
|
|
protected Validator $validator;
|
|
|
|
|
|
|
|
protected array $data = [];
|
|
|
|
|
|
|
|
public function __construct()
|
|
|
|
{
|
|
|
|
$this->validator = new Validator();
|
|
|
|
}
|
|
|
|
|
|
|
|
public function rules(): array
|
|
|
|
{
|
|
|
|
return [];
|
|
|
|
}
|
|
|
|
|
|
|
|
public function load(array $array): void
|
|
|
|
{
|
|
|
|
$rules = $this->rules();
|
|
|
|
foreach ($array as $key => $item) {
|
|
|
|
if (isset($rules[$key])) {
|
|
|
|
$this->data[$key] = $item;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getData(): array
|
|
|
|
{
|
|
|
|
return $this->data;
|
|
|
|
}
|
|
|
|
|
2024-09-10 12:55:41 +03:00
|
|
|
public function setItem(string $name, string|int $value): void
|
|
|
|
{
|
|
|
|
$this->data[$name] = $value;
|
|
|
|
}
|
|
|
|
|
2024-07-24 14:07:45 +03:00
|
|
|
public function getItem(string $name)
|
|
|
|
{
|
|
|
|
if (isset($this->data[$name])){
|
|
|
|
return $this->data[$name];
|
|
|
|
}
|
|
|
|
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function validate(): bool
|
|
|
|
{
|
|
|
|
$res = $this->validator->validate($this->data, $this->rules());
|
|
|
|
if (!$res) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function getErrors(): array
|
|
|
|
{
|
|
|
|
return $this->validator->getProcessedErrors();
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|