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; } public function setItem(string $name, string|int $value): void { $this->data[$name] = $value; } 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 validateForUpdate(): bool { $res = $this->validator->validate($this->data, $this->rulesForUpdate()); if (!$res) { return true; } return false; } public function getErrors(): array { return $this->validator->getProcessedErrors(); } public function getErrorsStr(): string { $errorsArr = $this->getErrors(); $str = ''; if ($errorsArr['errors']) { foreach ($errorsArr['errors'] as $key => $errorArr) { foreach ($errorsArr['errors'][$key] as $error){ $str .= "$error
"; } } } return $str; } }